Tajemnice ATARI

Ludzie listy piszą...


    Napisali do nas panowie Tadeusz Okoń i Marek Stolarski, właściciele firmy TOMS:

    W nawiązaniu do zamieszczonego w numerze 2/92 "Tajemnic ATARI" testu naszej stacji dysków TOMS 720, pozwalamy sobie przekazać kilka uwag natury ogólnej oraz bardziej szczegółowych, dotyczących zasygnalizowanych niedoskonałości ocenianego sprzętu.

   Najistotniejsza uwaga dotyczy niewyeksponowania na pozór drobnego faktu, iż firma TOMS jest jedynym w tej części Europy (jeśli nie w całej) producentem najbardziej technicznie i użytkowo zaawansowanej stacji dysków do "małego" ATARI.

   Odnośnie stwierdzenia, że "mechanizm stacji nie powstał w firmie TOMS", chcielibyśmy słusznie dodać, że w naszej firmie nie powstała również blacha, z której wykonana jest obudowa stacji, lakier do malowania obudowy i wiele, wiele innych podzespołów.

   Naszą zasługą było tylko opracowanie koncepcji stacji, schematu ideowego, wykonanie projektu obudowy, płytek drukowanych, a także wykonanie oprogramowania stacji i złożenie wszystkiego "do kupy".

   I to byłoby na tyle, jeśli chodzi o sprawy ambicjonalne.

   Teraz kilka uwag szczegółowych.

    Zasygnalizowana przez Was wada nieznośnie długiego oczekiwania na rozpoznanie gęstości dyskietki, nie jest w praktyce uciążliwa dla użytkownika, albowiem procedura sprawdzania gęstości dyskietki (wiele formatów o gęstościach od 90kB do 720 KB) trwa poniżej 0,5 sekundy, co dla zdecydowanej większości użytkowników jest czasem pomijalnie małym.

    Nasze wyjaśnienie, że "program w stacji nie jest przewidziany do tak szybkiego naciskania klawiszy", ma sens w tym znaczeniu, iż nie przewidywaliśmy ćwiczenia refleksu polegającego na jak najszybszym naprzemiennym i z wykorzystaniem obu rąk, zamykaniu dźwigni stacji oraz naciskaniu jakiegoś klawisza w komputerze. Słusznie chyba założyliśmy, że od chwili zamknięcia dźwigni stacji do naciśnięcia odpowiedniego klawisza w komputerze upłynie od 1 do 2 sekund, co z wystarczającą rezerwą czasu pozwala na rozpoznanie gęstości dyskietki przez stację i jednocześnie nie powoduje jej zawieszania się.

    Problem częstego, samoczynnego wyłączania się "buforowania" przy odczycie, jest związany z jakością stosowanych dyskietek oraz jakością dokonanego na nich zapisu.

    Używanie dyskietek bezfirmowych lub mocno zużytych będzie związane z częstym (proporcjonalnie do jakości dyskietek) występowaniem zjawiska wyłączania się trybu "buforowania". W przypadku stosowania dobrych jakościowo dyskietek (zgodnie z zaleceniami zawartymi w instrukcji obsługi stacji), omawiany problem będzie występować bardzo rzadko.

    Życzymy Redakcji dalszego podnoszenia poziomu swojego sympatycznego czasopisma, zwłaszcza od strony merytorycznej.



   Bardzo przepraszam. Nie napisałem że TOMS jest jedynym w tych okolicach producentem tego typu stacji, gdyż nie zdawałem sobie z tego sprawy. Sądziłem, że istnieje jakaś zdrowa konkurencja, mobilizująca do podnoszenia jakości wyrobów. Teraz rozumiem, dlaczego firma woli namawiać klientów, by cierpliwie znosili usterki, zamiast je usunąć. Stwierdzenie, że "mechanizm stacji nie powstał w firmie TOMS", które tak poruszyło autorów listu, było bez wątpienia jedną z największych pochwał pod adresem stacji. Przecież gdyby jakość napędu była taka, jak zawartego w niej oprogramowania, to nie nadawałby się do niczego! Nie pisałem nic na temat pochodzenia blachy i lakieru, ponieważ w chwili pisania nie dysponowałem takimi informacjami. Artykuł nie miał stanowić listy pochwał pod adresem napędu (wystarczającą ich liczbę znajdzie nabywca w instrukcji dołączonej do wyrobu), lecz próbę spojrzenia na urządzenie oczami nieuprzedzonego użytkownika, programisty.

    Testy przeprowadzone ze stoperem wykazały, że czas oczekiwania na rozpoznanie gęstości jest większy od 1 sekundy. Być może otrzymaliśmy od firmy TOMS jakiś specjalny egzemplarz. Redakcyjna stacja jest używana przez wiele osób i WSZYSTKIE miały takie same kłopoty z "refleksem". Czyżby więc należały one do jakiejś niezwykłej elity? Proponuję zatem, by napisali do redakcji użytkownicy TOMS-a 720, którzy rzeczywiście uważają ten czas za pomijalnie mały (szybkobiegacz przemierza wtedy ponad 10 metrów). Proszę zauważyć, że brak jest w liście wyjaśnienia, DLACZEGO stacja musi się zawieszać w przypadku odebrania od komputera prawidłowego rozkazu. Osobiście nie miałbym nic przeciwko temu, gdyby rozpoznanie gęstości trwało nawet 5 sekund, byleby zawsze kończyło się sukcesem. Szczególnie groźne konsekwencje może mieć trafienie w końcówkę "martwego" okresu. Przy odczycie zdarza się otrzymać np. kompletną (lub częściową) sieczkę zamiast katalogu. Przy zapisie kończy się to z reguły uszkodzeniem dyskietki.

    Rozpoznanie formatu nie zawsze działa poprawnie. Wyłączenie i włączenie stacji powoduje, że za pierwszym razem melduje ona format E przy dyskietce S, pomimo że na wyświetlaczu widnieje symbol S. W wyniku tego DOS próbuje odczytać nie istniejący sektor VTOC, co zawsze kończy się niepowodzeniem (z dodatkowymi efektami dźwiękowymi). Przełącznik zezwolenia na zapis jest sterowany elektrycznie, zamiast mechanicznie. Pomyślany jako ułatwienie, stanowi poważne niebezpieczeństwo! Właśnie niedawno, wskutek króciutkiego zaniku napięcia w sieci, stacja zniszczyła mi nieodwracalnie ZABEZPIECZONĄ dyskietkę z cennymi programami.

    Nabywca TOMS-a 720 nie znajdzie w instrukcji listy rozkazów stacji. To skutecznie zapobiega powstawaniu nowych programów, wykorzystujących niezwykłe możliwości napędu. Użytkownik skazany jest na oprogramowanie firmowe, nie zawsze odpowiadające indywidualnym upodobaniom. Znany jest przykład firmy IBM, która pobiła bardziej zaawansowanych technologicznie konkurentów właśnie dzięki "odtajnieniu" swych sekretów. Programiści na całym świecie lubią za to PC-ta, który dzięki bogactwu oprogramowania stał się niekwestionowanym standardem. Rozumiem, że monopoliście nikt nie może dyktować, co ma robić, ale...

    Kochani Panowie! Uważam podane przeze mnie fakty za obiektywne. Podtrzymuję swoje zdanie, że stacja oferuje bogate spektrum możliwości (nie zamieniłbym jej na żadną inną), nigdy jednak nie jest tak dobrze, by nie mogło być lepiej. Unoszenie się ambicją traktuję jako rodzaj zajęcia nadobowiązkowego, w miły sposób urozmaicającego życie mężczyzny. Nadal jednak podstawowym naszym obowiązkiem pozostaje troska o dobro klienta.

Janusz B. Wiśniewski


   Mariusz Bednarz z Gliwic

    Przesyłam do ewentualnego wydrukowania na łamach TA program na konkurs "5 linii". Program ten nosi nazwę "SYSTEMY LICZBOWE" i ma za zadanie przeliczać liczby z dowolnego systemu na inny dowolny system. Oczywiście należy wziąć pod uwagę ograniczenia wynikające z możliwości samego sprzętu.

    Uważam (nieskromnie), że program ten zasługuje na wydrukowanie go w TA, gdyż jest "pchełką" w porównaniu do innych programów tego typu drukowanych np. w "Bajtku", liczących kilkanaście, a nierzadko kilkadziesiąt linii i mogących, w najlepszym przypadku, przeliczać liczby jedynie w 3 systemach (DEC-HEX-BIN).

    Algorytm wykorzystany do przeliczania liczb pochodzi z książki "Maths on CBM-64" autorstwa Czesława Kosniowskiego.

   Tu następuje program:
1 CLR :A=128:DIM A$(A),B$(A),C$(A):? :
? "PODAJ:liczbe,system pocz.,system ko
nc.":INPUT A$,SP,SK:A=LEN(A$)
2 FOR I=1 TO A:P=A-I:X=ASC(A$(I)):X=X-
48:IF X>9 THEN X=X-7
3 N=N+X*SP^P:NEXT I:A=0
4 M=INT(N/SK):R=N-SK*M:N=M:A=A+1:B$(A)
=CHR$(R+48):IF ASC(B$(A))>57 THEN B$(A
)=CHR$(R+55)
5 ON N<>0 GOTO 4:A=LEN(B$):FOR I=1 TO 
A:C$(I,I)=B$(A+1-I):NEXT I:? "Wynik: "
;C$:GOTO 1
    Niestety, nie podzielam zdania autora. Program jest stanowczo za długi, jak na realizowane funkcje. Argumentacja, że istnieją jeszcze gorsze programy, zupełnie do mnie nie trafia. Mnie także zdarzało się widzieć brzydszych ode mnie ludzi, lecz to me pchnęło mnie do udziału w konkursie piękności.

    Nie wiem, jaka część programu została przepisana ze wspomnianej książki, lecz wątpię żeby jej autor popełnił tak szkolny błąd, jak potęgowanie w pętli. Podnoszenie do potęgi jest niemal na każdym komputerze operacją niesłychanie czasochłonną. Umieszczanie jej wewnątrz pętli jest po prostu karygodne. Zwłaszcza w sytuacji, gdy wystarczy zwykłe mnożenie i dodawanie. Każdy podręcznik programowania opisuje tę metodę. Trąbiono o niej w czasopismach. Legendarny już Dziesbin z TA też obywa się bez potęgowania. Widać to zwłaszcza przy liczbach wielocyfrowych: nadesłany program jest nieznośnie wolny.

    Sposób wprowadzenia danych pozostawia wiele do życzenia. Program pyta:"PODAJ:liczbe,system pocz.,system konc.". Lecz jeśli napisać:

12,10,2

to pojawia się pytajnik. O co chodzi? Po prostu zmienna tekstowa A$ przyjmuje cały tekst, łącznie z przecinkami i dla SP, SK nie starcza już danych. Wydaje mi się, że pobieranie parametrów w innej kolejności zgrabnie rozwiązuje ten problem.

    A przy okazji, zupełnie niezrozumiałe jest użycie aż trzech tablic tekstowych oraz w ogóle tak wielu zmiennych. Rozrzutność, charakterystyczna dla początkujących programistów, źle wpływa na czytelność programu, a nierzadko i na jego poprawność. Ten, na przykład, źle trawi 25-cyfrowe liczby dwójkowe, choć mieszczą się one w zakresie dopuszczalnym dla BASIC-a.

    Brak w programie opcji wyjścia. Trudno niestety uznać za prawidłowe kończenie działania programu klawiszem BREAK lub RESET. Sygnałem do zakończenia mogłyby być np. dane

0,0,

    Każdy się zgodzi, że, aby zostać pilotem, trzeba skończyć stosowną szkołę. Aby zostać kierowcą, też trzeba odbyć kurs. By zostać fryzjerem, szewcem, piekarzem, też się trzeba długo uczyć. Nie wiem czemu tak wiele osób uważa, że aby zostać programistą, wystarczy kupić komputer.

    Często radzę to lub owo młodym autorom, którzy przysyłają swe utwory z prośbą o ocenę. Świadomość własnej niedoskonałości od dawna (Sokrates!) stanowi dźwignię postępu. Ale irytuje mnie, gdy twórca sam wychwala swój knot pod niebiosa. Ludzie! nie zapominajcie, programowanie jest sztuką. Nie każdy musi to robić.

    Oto przykład programu, który lepiej rozwiązuje postawione zadanie:
1 DIM A$(128):? "Z, NA, LICZBA":INPUT 
P,Q,A$:A=LEN(A$):X=0:IF A=0 THEN END
2 FOR I=1 TO A:D=ASC(A$(I))-48:D=D-7*(
 D>9):X=P*X+D:NEXT I:I=128
3 Y=INT(X/Q):D=X-Q*Y:A$(I,I)=CHR$(D+48
+7*(D>9)):X=Y:I=I-1:ON X<>0 GOTO 3:? "
WYNIK: ";A$(I+1):RUN


Janusz B. Wiśniewski



Powrót na start | Powrót do spisu treści | Powrót na stronę główną

Pixel 2002