Sprzężenie Zwrotne

Mijają właśnie dwa lata od momentu ukazania się ..Bajtka” w nowej szacie wydawniczej — a zarazem dwa iata dialogu z czytelnikami na łamach niniejszej rubryki. Z tej okazji pragnę dokonać króciutkiego podsumowania.

Skierowana przez nas swego czasu do czytelników prośba o opatrywanie listów dopiskami (określającymi, do którego ze stałych działów „Bajtka” korespondencja się odnosi) spotkała się z życzliwym odzewem. Przez cały czas znakomicie ułatwiała i ułatwia nam to pracę. Wszystkie listy są uważnie czytane, a zawarte w nich uwagi w każdym przypadku brane pod uwagę przy redagowaniu pisma. Niestety, nie na wszystkie uwagi i prośby jesteśmy w stanie odpowiedzieć pozytywnie. Łatwiej jest nam ustosunkować się do krytyk strony merytorycznej „Bajtka”. Znacznie trudniej jest uwzględnić propozycje zwiększenia objętości działów, numeru itd. — bo tu wiążą nas trudności natury technicznej i ekonomicznej.

Do działu „Sprzężenie zwrotne” trafia część kierowanych do redakcji pytań. Na pozostałe odpowiadają redaktorzy poszczególnych „Klanów”.

„Sprzężenie” jest rubryką dla uważnych czytelników. Ze zrozumiałych względów przyjęto zasadę nie publikowania pytań, które juz raz na łamach tej rubryki zostały postawione i objaśnione. Podobnie rzecz ma się w przypadku pytań, na które odpowiedź można znaleźć bez trudu w numerze „Bajtka”. Rubryka unika w ten sposób spiętrzania się stosu spraw niezałatwio- nych, zaś czytelnicy — powtarzającej się lektury.

Nie wszystkie sprawy poruszane w listach mogą doczekać się wyczerpującej odpowiedzi. Najliczniejszym przykładem są tu prośby o pomoc w wyborze komputera. W ogromnej większości tych listów jest zdecydowanie zbyt mało danych, by udzielić jakiejkolwiek rady. Innym przykładem mogą być pytania o pewne rozwiązania programowe bez podania dokładnie, taką rolę powinny spełniać i w ja- (im środowisku programowym pracować.

„Sprzężenie zwrotne” nie zamieszcza ogłoszeń, propozycji nawiązania kontaktów itp. W tym celu została utworzona rubryka „Indywidualny Bank Danych” oraz osobno „Klan nietypowych”. Jest wszakże jeden wyjątek. Jak zapewne czytelnicy zauważyli, „Sprzężenie” od dłuższego czasu stara się pomagać niepełnosprawnym użytkowni- ;om komputerów. Sądzę, ze możemy liczyć na zrozumienie.

Swoimi doświadczeniami na ten temat chętnie podzielę się ze wszystkimi zainteresowanymi.

Bieżący odcinek „Sprzężenia zwrotnego” poświęcamy całkowicie krytykom pod adresem tej rubryki. Bardzo cieszą nas tego rodzaju listy, gdyż są one znakomitą pomocą w redagowaniu rubryki.

W numerze 10/87, w odpowiedzi na list czytelnika pytającego o dostępne programy muzyczne dla mikrokomputera ZX Spectrum, zamieszczona została zaskakująca informacja, że takie programy nie istnieją! Otóż jako muzyk oraz posiadacz tego komputera pragnę wyjaśnić, że pomimo ograniczeń sprzętowych wymienionych w odpowiedzi na list — na Spectrum istnieje szereg udanych programów muzycznych.

Zdecydowanie najlepszym jest jak dotąd „MUSIC BOX”. Nie jest to w żadnym razie program prymitywny — pozwala on na zapis dwugłosowych utworów muzycznych z towarzyszeniem perkusji, której brzmienie można programować na specjalnym edytorze. Napisany utwór można odtwarzać w różnym tempie, dowolnie modyfikować, a także przekształcić w niewielki blok kodu, działający samodzielnie bez programu głównego. Ola demonstracji do programu dołączonych jest kilka gotowych utworów opartych na melodiach zespołu „ WHAM”.

Innym znanym programem jest „Musie Composer” firmy Romantic Robot. Program posiada dość duże możliwości w zakresie pisania i przetwarzania 1-głosowej melodii: zmiana tempa, tonacji, klucza, artykulacji dźwięku i metrum utworu.

Oba opisane programy posiadają bardzo wygodne edytory, w których część klawiatury Spectrum traktowana jest jako klawiatura fortepianu.

Inne programy muzyczne to np. Musie Maker, Musie (nauka podstaw zapisu nutowego), Mozart (program samodzielnie „komponujący” dwa głosy do zadanej melodii — odtworzenia przy pomocy podłączonego układu A Y-3-8912).

Jeżeli chodzi o możliwości muzyczne Spectrum, to zapraszam do posłuchania (oczywiście przy pomocy podłączonego do gniazda MIC wzmacniacza) muzyki z gier takich, jak np. Agent X czy Chro- nos. Muzyka w tych grach jest 5-kanało- wa (!), przy pełnej niezależności każdego kanału, z perkusją i dowolnie zmieniającą się dynamiką.

Termin „muzyka” nie zakłada w żadnym razie istnienia wielu kanałów o dowolnie programowanym brzmieniu. Większość instrumentów muzycznych jest 1-głosowa, i ma jedną, charakterystyczną barwę. Jeśli chodzi o wymienione efekty, to można je uzyskać na drodze sprzętowej i programowej (ta druga ma wiele wad, ale nie można uznać, że nie istnieje!).

Jan Kubica
ul. Prosta 14/4
53-509 Wrocław

 

List ten wybrałem spośród kilku, które bronią edytorów muzycznych dostępnych na komputerze Spectrum. Wnoszę z tego, że moja lakoniczna odpowiedź o wyjątkowo skąpych możliwościach muzycznych tego komputera (Bajtek nr 10/87) wywołała wiele emocji.

Spieszę zatem donieść, że nadal uważam program „MUSIC BOX” za prymitywny. Nie chodzi tu o niedostatki samego programu — możliwość tworzenia dowolnych dwudźwięków należy uznać za jego wielką zaletę. Chodzi o to, że wyrafinowanie samego programu niewiele daje użytkownikowi. Programy typu „MUSIC BOX” czy „Musie Composer” pozwalają na pewne proste wprawki z melodyki (z dodaniem efektów perkusyjnych), ale np. takie dziedziny muzyki jak harmonia leżą całkowicie poza zasięgiem możliwości ich użytkowników.

Moja odpowiedź dotyczyła programów muzycznych w wąskim tego terminu znaczeniu — i tu muszę przyznać się do przeoczenia. Istnieje szereg programów, które wspomagają pracę muzyka w innych fazach niż wykonanie.

Mówi Pan o programach „Musie” i „Mozart”, ja ze swej strony dodać mogę choćby „Guitanst”, który początkującemu gitarzyście pozwala dobrać akompaniament do zadanej melodii, ze wskazaniem odpowiednich chwytów. Takimi programami jest także przynajmniej kilka będących w obiegu symulacji metronomu.

Pragnę również dodać, że użytkownicy ZX Spectrum nie powinni wpadać w kompleksy — znajdują się bowiem w takiej sytuacji, jak właściciele „klonów” IBM PC...

 

Chciałbym zapewne nie tylko w swoim imieniu zapytać, czym jest spowodowana niechęć wszystkich pism komputerowych do standardu MSX.

Zajmujecie się nawet takimi komputerami, jak C-16, VIC-20, widmami komputerowymi w rodzaju Meritum i Elwro, Sharpem itp. itd. O MSX opublikowano 1 (słownie jeden) artykuł.

Piszę do Pana, bo zadziwiają mnie Pańskie odpowiedzi na pytania o standard MSX (1/87 str. 28). W momencie gdy już dawno wytwarzano komputery MSX 2 pisze Pan rzeczy co najmniej o rok przestarzałe. Dla poparcia swojej tezy podają dane posiadanego przeze mnie komputera MSX 2 Yamaha AX-350 (proszę to porównać z Pańską odpowiedzią):

  • a. mikroprocesor Z BOA, zegar 3.58 MHz
  • b. pamięć RAM 128 KB, VRAM 128 KB
  • c. pamięć ROM 128 KB
  • d. ekran o rozdzielczości 256 x 212 (do 256 kolorów) lub 212 x512
  • e. ekran w trybie tekstowym 80 x 24, 40 x 24 lub 32 x 24 znaki
  • f. 32 spritey
  • g. stacja dysków 3.5 cala (720 KB po sformatowaniu)
  • h. rezydujący w ROM jeden z 4 programów o nazwie PAINTER pozwala tworzyć rysunki o rozdzielczości 512 x 424 w 512 kolorach.

Dodając do tego ogólnie znane możliwości dźwiękowe komputerów Yamaha i inne, nie wymienione przeze mnie zalety tego komputera jeszcze raz zapytuję, dlaczego MSX-owcy są dyskryminowani, pomimo iż CSH kupuje przecież SVI 738, a czytając Waszą rubrykę pt. „Indywidualny Bank Danych „ można przecież dojść do wniosku, że nie jest nas tak mało. Nikt nas jednak nie widzi. Nie żądamy wiele, ale prawdy o MSX i choćby od czasu od czasu jakiś artykuł lub wydruk programu.

Wiesław Lisowski
ul. Zwycięzców 45/13
03-937 Warszawa

 

Wspomniane przez Pana pytanie z numeru 1/87 dotyczyło standardu MSX, a nie MSX-2. Trzeba też zauważyć, że standard określa parametry minimalne, a nie obowiązujące dla wszystkich komputerów danej klasy. Dlatego też już w momencie, gdy pisałem ową odpowiedź można było z łatwością wskazać komputery MSX z większą pamięcią RAM lub np 64-ma „duszkami”.

Zgadzam się z Panem, że MSX-2 to propozycja ciekawa, zwłaszcza, gdy wzbogacona jest o atuty takie, jakie Pan opisuje, tzn. bardzo bogate możliwości dźwiękowe i oprogramowanie rezydujące w pamięci ROM. To, że MSX nie jest obecny na łamach „Bajtka” (podobnie jak wymieniane przez Pana C-16, VIC-20, Sharp, i praktycznie rzecz biorąc. Meritum) wynika z porównania liczby tych komputerów w Polsce z liczbą komputerów, których klany znajdują się w naszym piśmie.

 

W 10-tym numerze „Bajtka” udzielił Pan odpowiedzi koledze Arkadiuszowi Sochanowi. Mógłbym tę odpowiedź rozszerzyć, a nawet sprostować.

Wydaje mi się, że rozwiązanie automatycznego uruchamiania programów nie stanowi większego problemu. Po prostu zamiast użycia do nagrywania zlecenia CSAVE należy użyć SAVE „C:. Tak nagrany program można wczytać z taśmy do komputera przez LOAD „C: i uruchomić go przez RUN, bądź wgrać przez RUN „C:, co go po wgraniu automatycznie uruchomi.

Jedynym mankamentem tej metody jest to, że zlecenie SA VE „C: generuje duże przerwy między zapisywanymi rekordami.

Istnieje również drugi sposób: uruchomienie z poziomu Basica Niewielkiej procedury maszynowej. Podaję przykład. Aby skrócić wgrywanie programu mającego automatycznie startować rozbijemy go na dwa bloki:

1). Sama procedura maszynowa wywoływana z Basica:

0 DIM AS (20): RESTORE

1 TRAP 13:1 = 1

2 READ A: AS (l,l) = CHR$ (A)- 1 = 1+1: GOTO 2

13 X    USR (ADR (AS)

14 DATA 162, 253, 154, 169, 183, 72, 169, 84, 72, 169, 4, 32, 182, 187, 169, 255,76, 4,187

Ten programik należy nagrać na taśmie przez SAVE”C:

2). Właściwy program nagrywamy na taśmę zaraz po programie 1) przez normalne zlecenie CS A VE.

Wyjaśnienie działania: ten program (tzn. obydwa bloki) wgrywamy przez RUN „C:. Powoduje to wczytanie i uruchomienie programu 1). „Loader” ten wygeneruje procedurę maszynową, wy- wpływaną w linii 13. Procedura ta kasuje program 1), wgrywa program właściwy i uruchamia go.

Co się tyczy programowalności klawisza RESET — ma Pan rację, jest to przycisk nieprogramowalny. Jednak zdanie „działanie klawisza RESET nie może być zmienione programowo” jest nieprawdą. W normalnym stanie RESET zeruje procesor, nie naruszając jednak obszaru pamięci, w którym zawarty jest program w Basicu. Jednak po wpisaniu w komórkę o adresie 590 wartości 1 program w Basicu zostanie skasowany (oczywiście po wciśnięciu RESET). Jest to więc zmiana działania — na dokładkę nie sprzętowa. Nie można jednak przypisać klawiszowi RESET innych funkcji.

J.W.Nabzdyk
ul. Kochanowskiego 5/13
72-420 Dziwnów 1

 

Stwierdza Pan w nrze 10/87, że na komputerze Atari XUXE jest niemożliwe automatyczne uruchomienie programu bez komendy „RUN”. Otóż jest to możliwe.

Pierwszy sposób ma zastosowanie w przypadku programów krótkich. Należy zapisać na kasetę program instrukcją SAVE „C:”, a odtwarzać instrukcją RUN „C:”. Sposób ten nie jest najlepszy ze względu na to, że zapis jest ok. 2-krotnie dłuższy.

Sposób drugi jest bardziej skomplikowany. Trzeba napisać tzw. „loader”, który załaduje i uruchomi program.

10 REM LOADER

20 GR. O: POKE 709,0: POKE 710, 15: POKE 712, 15

30 POSITION 5,5: ? „Loading ASL..”

40 POSITION 5,21: ? „RUN”

50 POKE 764,12: POKE 842,13: POSITION 0,19

60 CLOAD

Programu nie należy uruchamiać, lecz nagrać na taśmę instrukcją SAVE „C:”. Potem kasujemy program. Teraz przykład programu właściwego:

10 REM PROGRAM

20 GR. 17

30 ? = 6; „auTOSTART” 40 ?=6; „STANDARD” 50 ? = 6; „IOADER” 60A=A + 1:IFA=511 THEN A = 0 70 A=INT (A): POKE 709,A/2: GOTO 60

Program nagrywamy na kasetę zaraz za „loaderem” instrukcją CSAVE.

Drugi sposób wydaje się być bardziej pożyteczny — gdyż dodatkowo umożliwia umieszczanie na ekranie napisów ukazujących się podczas nagrywania programu.

Sławomir Czajka
ul. Solec 115m.34
Warszawa

 

Oba listy prezentują proste i interesujące rozwiązanie problemu, automatycznego uruchamiania programu na Atari. Zwracam jednak uwagę, że są to rozwiązania połowiczne. Automatycznie uruchamiany program powinien bowiem rozpocząć działanie BEZ udziału użytkownika, a zatem niezależnie od tego, czy jest ładowany przy pomocy LOAD, czy RUN.

O pełnej automatyce w uruchamianiu programy możemy mówić np. w przypadku komputera Spectrum. Tu po prostu sam zapis programu na taśmie jest opatrzony informacją, czy program ma być (i od którego miejsca) automatycznie uruchomiony. Użytkownik ładuje program niezmiennie przy pomocy instrukcji LOAD, zaś resztę czynności związanych z uruchomieniem (lub nie) wykonuje system operacyjny.

Zgadzam się natomiast całkowicie z uwagami odnośnie klawisza RESET. Podana przez p Nabzdyka modyfikacja jest programowa — a zatem nie miałem racji.

 

 

Marcin Waligórski.