Bajtek Redux 11/1986

33
NR 11 LISTOPAD 1986 CENA 100ZŁ NR INDEKSU 353965 PL ISSN 0860 – 1674 11 Z MIKROKOMPUTEREM NA TY MIESIĘCZNY DODATEK DO "SZTANDARU MŁODYCH"

description

Popular computer' magazine at '80. Redigitalized and redesign from scans in djvu.

Transcript of Bajtek Redux 11/1986

Page 1: Bajtek Redux 11/1986

NR 11 LISTOPAD 1986 CENA 100ZŁ

NR INDEKSU 353965PL ISSN 0860 – 167411

Z MIKROKOMPUTEREM NA TY

MIESIĘCZNY DODATEK DO "SZTANDARU MŁODYCH"

Page 2: Bajtek Redux 11/1986

2 BAJTEK 11/86http://www.reduksy.pl/

WYBIERZ SAM

Przewidywanie przyszłości zawsze było obarczone dużym ryzykiem. „Historia ma odtąd szansę być

mniej przypadkową, mniej widowiskową i zarazem mniej dramatyczną. Coraz rzadziej pojawiać się będą wielcy zdobywcy, wielcy reformatorzy, wielcy mężowie stanu” — tak pisał w 1899 roku we Francji Emil Fagu-et w książce „Jaki będzie XX wiek?”. Pisał tak zaled-wie na 15 lat przed I wojną światową, na 18 lat przed Rewolucją Październikową, na 40 lat przed najstrasz-liwszą z wojen... A jednak, mimo zniechęcających przy-kładów, przyszłością zajmować się musimy. Zaniedba-nie myślenia o przyszłości wiąże się bowiem wszędzie z konkretną, wymierną ceną strat społecznych i ekono-micznych. Cenę tę w swoim czasie dobrze zresztą w Pol-sce poznaliśmy.

Żeby wygrać bezwzględną we współczesnym świecie walkę o rozwój przetrwanie, trzeba — jak w szachach — przewidywać na wiele ruchów naprzód. Jaki jednak mi-nimalny horyzont czasowy myślenia o przyszłości po-winniśmy przyjąć?

W 1936 roku w wydawnictwie „Trzaski, Everta i Mi-chalskiego” ukazała się w polskim tłumaczeniu pio-nierska w zakresie naukowego rozpoznania przyszłości książka Ritchie Galdera „Narodziny przyszłości w retor-cie uczonych”. Przyszły lord i laureat nagrody im. Ka-lingi (które to zaszczyty otrzymał za zasługi w popula-ryzowaniu wiedzy) zaproponował wówczas aby: „okre-ślić przyszłość jako świat, z którym będzie miało do czy-nienia moje pokolenie, biorąc z grubsza — najbliższe trzydziestolecie. Co też uczyni ze światem lub dla niego moja generacja — w ciągu tego okresu?”

I odpowiadał natychmiast: „Wierzę, iż umożliwi wie-dzy wykonanie jej zadania — stworzenia naukowej cy-wilizacji”.

Nie stworzyła.Wystarczy powiedzieć, że z dwudziestu najwięk-

szych wynalazków okresu powojennego zaledwie jeden, to znaczy magnetowid, został wymuszony przez potrze-by rynku cywilnego. Pozostałe dziewiętnaście wynalaz-ków ma pośrednie lub bezpośrednie zastosowanie woj-skowe. Ale to na marginesie.

Przypomniałem tutaj książkę Caldera, aby przy-łączyć się do zaproponowanego przez niego „horyzon-tu pokolenia”. Nie jest to oczywiście horyzont jedyny z możliwych. Ale jego zaletą jest pogodzenie dwóch spoj-rzeń na przyszłość — społecznego oraz indywidualnego. Rola czynnika pokoleniowego będzie zresztą z roku na rok rosła. Ponad 36 proc. ludności świata nie ukończy-ło jeszcze 15 lat, a 60 proc. nie ma jeszcze lat 30 — war-to o tym pamiętać.

Z tak określonego horyzontu widzenia przyszłości wynika wiele wniosków praktycznych. I to wniosków na dzisiaj:

Po pierwsze — w naszym myśleniu o przyszłości na-leży przekroczyć wreszcie zaczarowaną barierę roku 2000. Bo co w końcu takiego zdarzy się w noc sylwe-strową pomiędzy rokiem 2000 a 2001 (wtedy bowiem

dopiero rozpocznie się wiek XXI)? Zmieni się rok, zmie-ni się wiek, zmieni się tysiąclecie. I jakich magicznych interpretacji by do tego nie dorabiać, to żadnych niecią-głości rozwoju na pewno wówczas nie będzie. W roku 1000 też zresztą nie było końca świata, mimo że dosyć powszechnie taką możliwość przewidywano!

Po drugie — aby nie płacić ponownie frycowego — myślenie kategoriami przyszłości musi być stale obec-ne w naszym życiu społecznym. Nie „jakoś to będzie”, nie „aby do jutro”... Widzenie przyszłości w całym jej pokoleniowym horyzoncie jest na dzisiaj absolutną ko-niecznością!

Po trzecie — warto zdać sobie sprawę, i dotyczy to już bezpośrednio czytelników „Bajtka”, że nie istnieje nic takiego, jak jakaś „obiektywna” przyszłość, która kie-dyś przyjdzie, wystarczy tylko usiąść i poczekać na nią. Przyszłość będzie taką, jaką ją swoimi kolejnymi, dzi-siejszymi działaniami stworzymy. Wniosek ten pociąga za sobą istotne implikacje. Bo skoro wiemy, że nie uda nam się na nikogo zrzucić odpowiedzialności za naszą przyszłość, to powinniśmy dzisiaj zrobić wszystko, aby stworzyć sobie jak najszersze pole działania za lat 5, 10, 20... I nie mieć potem do nikogo pretensji, gdyby to pole okazało się za małe.

Po czwarte — i to jest wniosek nie tylko dla nasto-latków — najopłacalniejszą przyszłościowo formą inwe-stycji jest inwestowanie w ludzi. Bo konkretne techni-ki i technologie mogą się zmieniać, mogą pojawić się (i na pewno pojawią) nowe dziedziny wiedzy i produk-cji. Ale wszechstronnie wykształcony człowiek nie przeży-je się nigdy. Dlatego popierać będziemy gorąco w „Bajt-ku” te wszystkie formy działań, które służą popieraniu talentów, pomaganiu ludziom odważnym, nowatorskim, potrafi ącym myśleć i działać niekonwencjonalnie. Taki jest główny cel istnienia Młodzieżowej Akademii Umie-jętności powołanej z inicjatywy „Sztandaru Młodych”. Taka jest również zasadnicza myśl przewodnia przebo-ju ostatnich wakacji, czyli zorganizowanych z inicjatywy Biura Urzędu Rady Ministrów ds. Młodzieży cyklu obo-zów pod hasłem „Awangarda XXI wieku”. Dla tych, któ-rzy wzięli w tych obozach udział, było to unikalna moż-liwość przedyskutowania wszystkich spraw które ich in-teresują. Spraw, które ważne są już dziś, a których waga w horyzoncie życia pokolenia będzie stale rosła. W przy-szłym roku „Bajtek” postara się zresztą wziąć patronat na jednym z takich obozów!

Po piąte wreszcie — aby wygrać przyszłość niezbęd-ne jest właściwe rozpoznanie dominujących w niej tren-dów. W wielu sprawach możemy się pomylić, ale na pewno nie grozi nam ryzyko błędu w sprawie informa-tyki. Od tej sprawy odwrotu nie będzie, choć zapewne komputery naszych dzieci w niczym nie będą przypo-minać naszych wspaniałych maszyn typu „Spectrum”, „Amstrad” czy „Commodore”. Ale nie martwcie się — w Muzeum Techniki wywalczymy dla tych poczciwców najbardziej honorowe miejsce!

Waldemar Siwiński

GRA O JUTROKompromis ............................................... 3SWEGO NIE ZNACIEKomputery na Okęciu .............................. 4Bity zamiast czcionek .............................. 5PROGRAMOWAĆ MOŻE KAŻDYPASCAL cz.2 ........................................... 6KLAN AMSTRAD SCHNEIDERPolskie litery ............................................ 8Trochę ruchu ............................................ 8Pamięć pod lupą ...................................... 9KLAN SPECTRUMSłupki ..................................................... 10Renumeracja ......................................... 10Kłopoty z pamięcią ................................ 10Master Toolkit ..........................................11Czy jesteś jasnowidzem? ....................... 12KLAN ATARITape copier ............................................. 14Świat dźwięków ..................................... 15KLAN COMMODOREPoradnik młodego pirata cz. 4 ................ 20SAM ........................................................ 20TSL Copy ............................................... 20Lister ....................................................... 21Polski alfabet cz. 2 .................................. 22PRZED EKRANEMRachunki i tabelki .................................. 13CO JEST GRANEEnigma Force .................................... 16-18Globtroter ............................................... 19Zorro ....................................................... 19UWAGA PIRACI ..................................... 24JAK TO ROBIĄ INNICo słychać w Szwecji ............................. 25SAMI O SOBIEO Złotą Dyskietkę „Bajtka" ...................... 28Radiokomputer ....................................... 28HOBBYTE .............................................. 28Forum Atari ............................................. 28GIEŁDA .................................................. 30TYLKO DLA PRZEDSZKOLAKÓWKubuś Telegrafi sta .................................. 31NIE TYLKO KOMPUTERYEXPO'86 ................................................. 32

HORYZONTPOKOLENIA

„BAJTEK” – MIESIĘCZNY DODATEK DO „SZTAN-DARU MŁODYCH”.

ADRES: 00–685 Warszawa, ul Wspólna 61. Telefon 21–12–05.Przewodniczący Rady Redakcyjnej: Jerzy Do-mański-re-daktor naczelny „Sztandaru Młodych".ZESPÓŁ REDAKCYJNY: Waldemar Siwiński (z-ca re-daktora naczelnego "SM" — kierownik zespołu "Bajtka"), Roman Poznański (z-ca sekretarza redakcji "SM" — se-kretarz zespołu „Bajtka"), Krzysztof Czernek, Sławomir Gajda (red. techniczny), Andrzej Kowalewski, Sławomir Polak, Wanda Roszkowska (opr. grafi czne), Kazimierz Treger, Marcin Waligórski, Roman Wojciechowski.Klany redagują: Commodore — Klaudiusz Dybowski, Michał Silskl Amstrad-Schneider — Tomasz Pyć, Ser-giusz Wolick Spectrum — Konrad Fedyna, Michał Szu-niewicz Atari — Wiesław MigutWYDAWCA: RSW „Prasa-Książka-Ruch" Młodzieżowa Agencja Wydawnicza, al. Stanów Zjednoczonych 53, 04-028 Warszawa. Telefony: Centrala 13-20-40 do 49, Re-dakcja Reklamy 13-20-40 do 49 w. 403,414. Cena 100 zł.Skład techniką CRT-200, przygotowalnią offsetowa i druk: PRASOWE ZAKŁADY GRAFICZNE RSW „PRA-SA-KSIĄŻKA-RUCH" w Ciechanowie, ul. Sienkiewi-cza 51.Zam. nr 1301/86, nakład 250 000 egz. P-101

Page 3: Bajtek Redux 11/1986

3BAJTEK 11/86http://www.reduksy.pl/

— Pięć tysięcy komputerów fi rmy Timex — TC 2048, trzy i pół tysiąca drążków sterowych „Qu-ickshot”, piętnaście tysięcy trzycalowych dys-kietek DS/DD, dwa tysiące komputerów SVI-738 produkcji Spectravideo — to tylko część sprzętu sprowadzanego przez Centralną Składnicę Har-cerską. Czy jest to pierwsza tego typu transak-cja na naszym rynku?— Nie jest istotne, czy my byliśmy pierwsi. Transak-

cje związane z rękojmią i prowadzeniem sprzętu za-wierają „Baltona” i „Pewex”. Rynkowym sprzedawcą jest zielonogórska „Apina” czy Dom Handlowy Nauki PAN. Natomiast jeśli chodzi o sklepy ogólnodostęp-ne — to rzeczywiście, pod względem rozmiarów jest to pierwsza tego typu transakcja.— Przymiarki, aby sprowadzić sprzęt komputero-

wy, trwały od dawna. Krążyły różne pogłoski o ja-

kości sprzętu do zakupienia, o jego cenach, ilości. Doszło wreszcie do sfi nansowania pierwszej umo-wy — za co chwała Centralnej Składnicy Harcer-skiej. Czy mógłby pan odsłonić kulisy, jak doszło do zawarcia transakcji? Jest przecież wiele fi rm o lepszej renomie niż Timex czy Spectravideo.— Mimo pozorów kulisy nie są aż tak ciekawe. Wo-

lałbym jednak o nich nie mówić, gdyż jako handlowca obowiązuje mnie zachowanie poufności — chociażby w transakcjach importowych. Po prostu te fi rmy udzie-liły nam najdogodniejszych warunków. Nam — to zna-czy Towarzystwu Handlu Międzynarodowego DAL — centrali, która dokonała zakupów. Ostateczne zawar-cie umowy było poprzedzone licznymi sondażami, kon-sultacjami, badaniem rynków. Producenci krajowi, jako dostawcy sprzętu są dla Składnicy nieosiągalni, cho-ciażby ze względu na oferowane ceny i znikomą wiel-kość produkcji. Również nie dochodziła do skutku fuzja z pewnymi fi rmami polonijnymi — za bardzo troszczy-ły się o własne interesy fi nansowe. Rozpoczęliśmy więc rozmowy z przedsiębiorstwami „Metronex” i DAL. „Me-tronex” mógł sprowadzić komputery tylko na zasadzie transakcji kompensacyjnej. Jedynie DAL miało możli-wości dokonania zakupów. Po licznych wywoławczych ofertach z naszej strony i po zagranicznych konsulta-cjach cenowych zdecydowaliśmy się na transakcję wła-śnie z Timex’em i Spectravideo. Chociaż wśród kontra-

hentów były także Amstrad czy Commodore. Jednakże ze względu na to, że fi rmy te sprzedają w Polsce kom-putery w sklepach „Pewexu” i „Baltony”, musieliśmy zre-zygnować z ich propozycji. Tak więc, biorąc pod uwagę nasze możliwości zakupu oraz możliwości sprzedaży na rynku krajowym sprowadziliśmy ten właśnie sprzęt.— A więc sukces?— Bez przesady, nie jest to szczyt szczęścia i na-

szych marzeń. Ale trzeba mieć świadomość, że w han-dlu dokonuje się wyboru i kompromisów: kupuje się to na co nas stać, to co oferują inni lub... nie kupu-je się nic. Na przykład długo trwały pertraktacje na te-mat cen komputerów relacji ceny osprzętu do jednostki podstawowej. THM DAL nie mogło wyasygnować wy-sokich kwot, które chciałoby się przeznaczyć na zakup bogatego oprogramowania dla MSX czy różnorodnych urządzeń peryferyjnych. Uważam jednak, że mimo tych ograniczeń, sprowadziliśmy sprzęt przyzwoitej ja-kości, który można będzie kupić po godziwej cenie. Ceny zostały tak skalkulowane, że obniżyliśmy należ-ną nam marżę o 16 proc. do 12 proc. a w niektórych wypadkach nawet poniżej tej granicy. Wartość trans-akcji w cenach detalicznych ok. 3,4 mld. zł.— Klienta jednak nie interesuje możliwości de-

wizowe central handlowych czy układy w polskim rynku komputerowym. Jeśli wydaje kilkaset ty-sięcy złotych, to chce mieć sprzęt dobrej jakości.

GRA O JUTRO

Rozmowaz mgr inż. Ryszardem

Kottem−asystentem w Instytucie

InformatykiPolitechniki Warszawskiej.KOMPROMIS

Rozmowaz WOJCIECHEM SZANTEREM

− dyrektorem Zarządu Centralnej Składnicy

Harcerskiej.

Page 4: Bajtek Redux 11/1986

4 BAJTEK 11/86http://www.reduksy.pl/

GRA O JUTRO SWEGO NIE ZNACIE

Jeżeli można mówić o komputeryzacji jako o czekającej każda dziedzinę życia czy gospodarki konieczności, to w lot-nictwie jest to konieczność szczególna. Warszawskie lotnisko międzynarodowe nie zostaje w tyle za światowa czołówka — na komputery można sie natknąć do-słownie na każdym kroku, w kasach bile-towych, biurze reklamacji bagażu itd.

Dzisiaj zajmiemy się jednak komputerami, których zwykły pasażer nie widzi, lecz bez których nie bytoby mowy o nowoczesnym lotnictwie, czy nawet o jego na-miastce.

KONTROLER CZUWAJesteśmy w długiej, zaciemnionej hali zastawionej

pulpitami, na których aż się roi od przycisków, telefonów, migających kontrolek itp. Pomiędzy pulpitami widać okrągłe ekrany radarowe. Siedzą przy nich ludzie ze słu-chawkami na uszach — to kontrolerzy ruchu lotniczego, od których zależy bezpieczny lot wszystkich samolotów komunikacyjnych. Pod ich palcami jarzą się podświetla-ne klawiatury połączone z komputerem fi rmy PDP.

Trudno nawet wyobrazić sobie jak wielka lawina in-formacji przewala się codziennie przez Centrum Kon-troli Ruchu Lotniczego — opisana powyżej hala to właśnie jego część; mieści się tu kontrola zbliżania i kontrola obszaru.

Zainstalowany na lotnisku Okęcie system radioloka-cyjny jest wyposażony w dwa radary: pierwotny i wtórny. Radar pierwotny pozwala na określenie pozycji każdego samolotu znajdującego się w powietrzu, zaś radar wtór-ny pozwala przy takim echu radiolokacyjnym „doczepić” kilka istotnych i bardzo ważnych dla kontrolera informa-cji; najważniejsze jest to, że informacje te dotyczą cza-su realnego.

W każdym samolocie komunikacyjnym zainstalowa-ne jest urządzenie zwane transponderem, odpowiadają-ce na sygnały wysłane z anteny radaru wtórnego. Dzię-ki temu obok echa pierwotnego pojawia się także echo wtórne z pakietem informacji dotyczących aktualnej wy-sokości,prędkości śledzonego samolotu i jego numeru identyfi kacyjnego, (squawk). Kontroler ma także moż-liwość przypisania dla każdego z samolotów na ekra-nie radaru numeru rejsu, kategorii pozostawianego śla-du aerodynamicznego (zawirowania powietrza za sa-molotem) czy innych informacji. Te udogodnienia są oczywiście zaledwie ułamkiem możliwości komputera. Może on także kontrolować utrzymywanie się samolotu w określonym przedziale wysokości, wykrywa automa-tycznie kody alarmowe, pozwala na wpisanie do pamię-ci całej listy startów na dany dzień, o których informa-cja jest wyświetlana na 10 minut przed wpisanym cza-sem startu. Ponadto możliwe jest w ramach tego syste-mu przekazywanie zobrazowania na inny wskaźnik, do innego systemu radiolokacyjnego, śledzenie samolotów powyżej czy poniżej zadanej wysokości, śledzenie sa-molotów o wyselekcjonowanych numerach kodów itp.

System jest wyposażony w tzw. kursor — generowa-ną elektronicznie linię „doczepianą” do dowolnego miej-sca ekranu i pozwalającą mierzyć odległość i kurs po-między dwoma punktami.

Oprócz informacji otrzymywanych z powietrza czy też za pomocą radarów kontroler musi być również do-brze poinformowany o warunkach pogodowych na tra-sie, na lotnisku docelowym czyli po prostu musi być in-formacyjnym omnibusem. Nie wystarczy wiedzieć co się dzieje na własnym lotnisku czy nad terytorium Polski. Gdyby na przykład lotnisko docelowe było z jakichś po-wodów zamknięte to taki lot nie miałby po prostu sensu.

CO SŁYCHAĆ W ANKARZEObok stanowiska stoi zwykła drukarka dalekopiso-

wa. Jest ona końcówka drugiego systemu komputero-wego opartego na urządzeniu fi rmy MITRA, którego za-daniem jest przyjmowanie i nadawanie depesz na cały świat. Komputer pełni tu bardzo poważną rolę — jest od-powiedzialny za sortowanie, adresowanie I przesyłanie depesz do poszczególnych organów i służb ruchu lotni-czego. Wyobraźmy sobie, że np. Turcja nadała na cały świat informację o rozpoczynających się za tydzień pra-cach polowych na lotnisku w Ankarze w związku z czym lotnisko będzie zamknięte. Taka informacja powinna być przekazana do Biura Od praw Załóg gdzie zgłaszają się wszyscy piloci przed planowanym lotem. Kontrolera in-teresują tylko informacje z ostatniej chwili. Resztę zała-twia Biuro Odpraw Załóg.

Zupełnie inaczej wygląda sytuacja gdy jakieś lotni-sko przysyła depeszę o zamknięciu zupełnie niespo-dziewanie. Informacja taka powinna jak najszybciej tra-fi ć do kontrolera,gdyż musi on ją przekazać do samolo-tów wykonujących już lot na to lotnisko, a ponadto może on jeszcze zatrzymać samoloty już gotowe do startu. System ten jest porównywalny do centralnego układu nerwowego — i jest nim w lotnictwie w rzeczywistości.

TRENING CZYNI MISTRZANa tym - rzecz jasna - nie kończy się zastosowa-

nie komputerów w lotnictwie. W tym samym Centrum Kontroli Ruchu Lotniczego znajduje się też kompu-ter MERA, spełniający rolę ... łoża tortur dla przyszłych kontrolerów radarowych. Łatwo się można domyślić, że chodzi tu o symulator radarowy, na którym muszą przejść odpowiednie przeszkolenie wszyscy ci, którzy myślą o fotelu przed ekranem radarowym. Oczywiście instruktorzy „dbają” o kursantów aby im się przypadkiem nie nudziło — a to nagle samolot po starcie zaczyna się palić, to znów w tym samym momencie dwa inne tracą łączność i na dodatek „siada” radar... i tak dalej i tak da-lej. Możliwość symulowania „gorących” sytuacji jest tu oczywiście połączona z nauką odpowiedniego postępo-wania w takich wypadkach, co w prawdziwym ruchu po-zwoli takie sytuacje rozwiązywać bez większych emocji.

SZYBKO, BEZBŁĘDNIE I OSZCZĘDNIEW nowoczesnym lotnictwie nie obejdzie się także

bez systemów kontrolnych. Taką rolę spełnia na war-szawskim lotnisku komputer HEWLETT PACKARD, który służy do określania dokładności wskazań wszyst-kich naziemnych urządzeń radionawigacyjnych. Jest on zainstalowany w samolocie technicznym wraz z odpo-wiednią konsoletą; podczas pomiarów wyniki są zapisy-wane na dyskietkach i analizowane w zależności od po-trzeby na ziemi lub w powietrzu. Tego rodzaju analiza pozwala na znaczne zmniejszenie kosztów związanych z drogimi oblotami technicznymi i oczywiście znacznie przyśpiesza lokalizację niesprawności czy ewentual-nych uszkodzeń.

Drugi komputer tej samej fi rmy jest wykorzystywany do obliczeń związanych ze zużyciem paliwa — mam na myśli wszelkiego rodzaju wyliczenia trasowe. Jak wia-domo zużycie paliwa zależy nie tylko od typu samolotu i długości trasy; mają na to także wpływ wysokości lotu, warunki atmosferyczne, pora roku i wiele innych czyn-ników.

ELEKTRONICZNA DRUKARNIAOstatnio warszawskie lotnisko wzbogaciło się o jesz-

cze jeden nowy system komputerowy oparty na maszy-nie fi rmy IBM — system pozwalający na redagowanie i wydawanie specjalistycznych publikacji lotniczych.

LOTNISKO BEZ LUDZI?Bez komputerów nie ma żadnej przyszłości dla lot-

nictwa. Tylko komputery mogą dać sobie radę z upo-rządkowaniem i odpowiednim posortowaniem lawiny in-formacji i tylko komputery mogą zapewnić odpowiednią szybkość jej przesyłania oszczędzając cenny czas i wy-konując za człowieka najbrudniejszą robotę. Dzięki temu ma on możliwość skupienia się nad tymi zadaniami, któ-rym nie sprosta nawet najlepszy komputer. W niektórych krajach biura odpraw załóg to niewielki pokój z monito-rem i klawiaturą; człowieka tam nie uświadczysz a jeżeli już, nie będzie to technik lub konserwator.

Nie ma się co łudzić — prędzej czy później kompu-terowa przyszłość czeka też polskie lotnictwo komuni-kacyjne. Na Okęciu pracuje już kilkanaście o ile nie kil-kadziesiąt komputerów — początek wygląda więc bar-dzo obiecująco...

Klaudiusz Dybowski

Tymczasem urządzenia fi rmy Spectravideo prak-tycznie nie funkcjonują na naszym rynku. Timex to inna wersja Spectrum, które nie cieszy się już zbyt dużą popularnością.— Model TC 2048 jest w pełni kompatybilny ze Spec-

trum plus, natomiast komputery Spectravideo pracują w systemie CP/M — nie powinno być więc większych problemów z wykorzystaniem już istniejącego oprogra-mowania. Do TC 2048 może być z powodzeniem wyko-rzystywana cała rodzina gier i programów edukacyjnych.— Pewne wątpliwości może jednak budzić ku-

powanie sprzętu, który posługuje się dyskietkami 3,5”, których u nas nie ma. Obowiązujący wśród na-szych fanów mikroinformatyki standard — 5,25”.— Dlatego do komputera SVI 738, który ma wbudowa-

ną stację dysków 3,5” sprowadzamy także zewnętrzną stację dysków 5,25”. Dyskietki 3” sprowadzane są do stacji dysków FDD3” dla komputera TC 2048. Tym sa-mym formatem posługuje się również Amstrad — tak popularny u nas.Sprzęt był testowany przez kluby komputerowe m.in.

Katowicki Informik, badany w instytutach badawczych, a także przez indywidualnych specjalistów. Zazna-czam, że jest to pierwsza, sondażowa partia sprzę-tu. Jeśli sprzedaż będzie bez kłopotów, mamy od do-stawców Spectravideo zapewnienia rozszerzenia asor-tymentu. Na przykład 200 egzaminatorzy SVI 788 ma klawiaturę angielską. Następna partia będzie wyposa-żona w klawiaturę polską. Już w transakcji zapewniono sprzedaż 10 programów użytkowych, i ok. 50 edukacyj-nych, które będą w pełni dopuszczone do kopiowania. Tak więc w uruchamianej przez nas sieci sklepów oraz hardware’u będzie także software.— Jak ocenia pan szanse sprzedaży na naszym

rynku?— Początkowo miałem pewne obawy związane z fi r-

mą Spectravideo, ale już w połowie września na mie-siąc przed planowanym otwarciem stoisk, mieliśmy tyle zamówień, że wszelkie niepokoje okazały się płonne. Na przykład napłynęły zamówienia na wszystkie dys-kietki trzycalowe. Różne fi rmy chcą je wykupić, aby później sprzedawać z nagranymi programami. Oczywi-ście na taki układ nie możemy sobie pozwolić.Od początku swego istnienia Centralna Składnica

Harcerska miała za jeden z głównych celów rozwija-nie zainteresowań politechnicznych młodzieży. Konse-kwencją tego założenia jest dokonana transakcja.— Miejmy nadzieję, że ta transakcja przełamie ba-

riery niemożności związane ze sprowadzaniem sprzętu komputerowego. Traktujemy ją jako szan-sę rozpoczęcia państwowej sprzedaży — konku-rencyjnej wobec giełdy. W najbliższych numerach „Bajtka” bliżej przedstawimy komputery TC 2048 i SVI 738 wraz z osprzętem.

Rozmawiali: Sławomir PolakRoman Wojciechowski

WYKAZ ASORTYMENTOWY SPRZĘTU MIKROKOMPUTEROWEGO OFEROWANEGO

DO SPRZEDAŻY W PLACÓWKACH HANDLOWYCH CENTRALNEJ SKŁADNICY HARCERSKIEJ

Lp. WyszczególnienieIlość w szt.

Cena w tys. zł

I1.2.3.4.5.6.7.

Sprzęt fi rmy TIMEXKomputer TC 2048Stacja dysków TIMEX FDD 3”Drukarka TIMEX 50Drukarka TIMEX 1000Magnetofon kasetowy TIMEX 2020Joystick QUICKSHOTDyskietka 3” DS/DD

50001500700500

20003500

15000

10625596

28030

8,53

II

1.2.3.4.5.6.7.8.9.

10.11.

Sprzęt fi rmy SPECTRA VIDEO (MSX-2)Komputer SVI — 738Stacja dysków BW112 5,25”Monitor mono TTL12”Monitor kolor DCM-414,13”Drukarka Centronies GLP z kab.Magnetofon kasetowy 767Plotter Sony z kab.Karta pamięci zewn. 64 KBZestaw graf. EDDY II + CATMikrodyski 3,5” (po 10 szt.)Kaseta z taśmą do drukarki GLP

2000400

1700300

1000200300100400

40002000

44022094

26230033

4155790368

KOMPUTERYNA

OKĘCIU

Page 5: Bajtek Redux 11/1986

5BAJTEK 11/86http://www.reduksy.pl/

SWEGO NIE ZNACIE

Gdyby Gutenberg dwadzie-ścia lat temu zwiedzał przecięt-ną drukarnię gazetową, w pierw-szej chwili złapałby się za głowę z powodu natłoku ludzi i urzą-dzeń, hałasu oraz tempa ma-szyn drukarskich. Ale po pew-nym czasie stwierdziłby z satys-fakcją, że od pięciuset lat — gdy rozpowszechnił swój wynalazek — nie zmieniły się zasady dru-ku wypukłego. Ale dwadzieścia lat temu nie było w drukarniach komputerów.

Właśnie „Bajtek”, drukowany w Prasowych Zakładach Gra-fi cznych RSW „Prasa-Książka-Ruch” w Ciechanowie, po-wstaje przy pomocy najnowo-cześniejszych technik skompu-teryzowanego fotoskładu.

Najpierw maszynopis (na przykład tego artykułu) trafi a na stanowisko ope-ratora monitora ekranowego (właści-wie operatorki, gdyż na tych stanowi-skach pracują prawie wyłącznie kobiety). W systemie SKIT pracuje pięc takich sta-nowisk. Jednostką sterującą jest system polskiej produkcji z pamięcią SP45DE. Na stanowiskach korektorki ekranowej odbywa się kodowanie tekstu oraz jego korekta. Nośnikami pamięci są 8-calo-we dyski. Pod pojęciem „kodowanie” kry-

je się również zapisanie informacji jakim krojem pisma, wielkością czcionki ma być złożony tekst.

Teksty zakodowane na dyskach 8-ca-lowych przenosi się na dyski 5 1/4 cala. wykorzystywane w CRTerminalu. który wyposażony jest w interface LCI (Linoty-pe Communication Interface). To „przepi-sywanie” z dysku na dysk wynika z cał-kiem prozaicznych powodów — z różno-rodności sprzętu, jakim dysponuje dru-karnia. Od tej pory najważniejszym ele-mentem w powstawaniu „Bajtka” będzie właśnie ta dyskietka. Na niej zostaną za-pisane wszystkie informacje potrzebne do wydrukowania fragmentów czasopi-sma, a później całych stron czyli kolumn.

Ważnym etapem jest wydruk tekstu na drukarce TRD 32. Tekst, który po-wstanie na papierze, trafi a do korekty, gdzie porównywany jest z maszynopi-sem oraz do redaktora technicznego.

Druk czy fotografi a?Po ostatecznej korekcie oraz wpro-

wadzeniu uwag redaktora technicznego, dyskietka trafi a do wy-swietlarki CRTro-nic 200. która wyposażona jest w dwa dowolnie programowane mikroproceso-ry. 704 K pamięci oraz dwie niezależne stacje dyskietek, każda 5 1/4 cala. Dys-kietka formatowana jest na 320 K. Ser-cem urządzenia jest katodowa lampa elektronowa. Dlaczego sa aż dwie nie-zależne stacje dyskietek? Znowu wymóg tempa: w czasie, gdy na jednej dyskiet-ce nanosi się ostateczne uwagi — do-konuje szlifu tekstu — z drugiej już od-czytywany tekst jest wyświetlany przez

lampę na błonie fotografi cznej TF 32 Fo-ton-Bydgoszcz. Szybkość naświetlana błony — ok. 200 tys. znaków na godzi-nę! Następnie klisze „montuje się” w go-towe kolumny.

Trzeba jeszcze wspomnieć o takim „drobiazgu” jak barwne fotografi e. Każ-dy z podstawowych w drukarstwie kolo-rów trzeba przenieść na odpowiednią kli-szę, aby podczas druku offsetowego, po nałożeniu poszczególnych barw podsta-wowych, otrzymać „gotowe wielobarw-ne zdjęcie”. Tu znowu pojawia się kom-puter. Urządzenie Magnascan 510 roz-kłada barwny slajd na poszczególne ko-lory podstawowe: żółty, czerwony, niebie-ski i czarny. Nie tylko „rozkłada”, ale tak-że zapisuje natężenie barwy i poszcze-gólne z nich naświetla na błonie fotogra-fi cznej — podobnie jak tekst.

A jednak drukDopiero w tym momencie (gdy zmon-

towane są klisze z tekstem, zdjęciami, ta-belami, listingami itp. — oczywiście dla poszczególnych kolorów osobne) poja-wia się metal. Przy użyciu odpowiednich technik, to, co zostało na kliszy sfotogra-fowane (cały czas jest to technika foto-grafi i czarno-białej) przenosi się na meta-lowe matryce. One trafi ają na bębny ma-szyny, rotacyjnej i pozostaje tylko „szy-cie i krojenie”. Technika fotoskładu po-mija więc pracochłonny i szkodliwy dla zdrowia etap odlewania tekstu w wiersze i później składania ich w „ramki” czyli ko-lumny. Przy korekcie w technikach trady-cyjnych, aby poprawie jedną literę, trze-ba odlewać na nowo cały wiersz. Poja-wia się możliwość nowego błędu. Każ-dy kto pracował z edytorem tekstu, wie

jak prosta staje się korekta przy pomo-cy komputera. Ale nie dosc tych udogod-nień. W pewnym momencie druku oka-zuje się. że na kolumnie zabrakło miej-sca. W technikach tradycyjnych trze-ba więc na nowo odlewać tekst złożony mniejszą czcionka. W fotoskładzie — wy-daje się komputerowi polecenie, aby ten sam tekst „przepisał” mniejszą czcion-ka. Czy ciechanowska drukarnia jest naj-nowocześniejsza w kraju? Dyrektor na-czelny Jerzy Górski broni się przed takim określeniem.

— Lepiej powiedzieć: jedna z no-wocześniejszych. W tym roku likwi-dujemy techniki typografi czne, bę-dziemy rozszerzać skład kompute-rowy. Nastawiamy się na produkcję wielobarwną.

Dzis Zakłady drukują m.in. 1,2 mln popularnych wsrod bibliofi lów „miniatu-rek”: 8 mln książek, 160 mln losów lote-ryjnych — w tym także dziennikarskiej lo-terii „Błękitna” — druk losów jest docho-dowy. I oczywiście czasopisma, wśród których „Bajtek” pod względem nakładów i objętości jest jednym z największych.

Sławomir PolakRoman Wojciechowski

Magnascan 510

Kolejny „Bajtek” trafi a do czytelnika

BITYZAMIAST CZCIONEK

Prz

y m

onito

rach

ekr

anow

ych

prac

ują

wyłą

czni

e sy

mpa

tycz

ne

dzie

wczy

ny

5BAJTEK 11/86

Page 6: Bajtek Redux 11/1986

6 BAJTEK 11/86http://www.reduksy.pl/

W pierwszym z niniejszego cyklu artykułów używa-liśmy PASCAL-a do wykonywania prostych obliczeń. Obecnie zapoznamy się z całością możliwości oblicze-niowych tego języka oraz z kompletem instrukcji, pozwa-lających na konstruowanie programu.

STANDARDOWE TYPY ZMIENNYCHJak już wiemy, w PASCAL-u istnieje obowiązek deklarowania nazw oraz typów

używanych w programie zmiennych. Dotychczas posługiwaliśmy się wyłącznie zmien-nymi typu REAL. Jest to jeden z czterech standardowych typów zmiennych w PASCA-L-u. Wymieńmy je wszystkie:

integerTyp ten odpowiada zbiorowi liczb całkowitych. Oczywiście nie jesteśmy w stanie

reprezentować w komputerze wszystkich liczb całkowitych, lecz tylko ich skończo-ny podzbiór.

Deklaracja zmiennej tego typu może wyglądać tak: var LiczbaMinut: integer;Jeżeli zachodzi potrzeba, możemy ów podzbiór liczb całkowitych zmniejszyć. Za-

deklarujemy wówczas np.var Procent: 0..100; W powyższym przypadku zmienna Procent może przyjmować wartosci całkowi-

te z przedziału 0..100.

realTyp odpowiadający zbiorowi liczb rzeczywistych — z podobnymi, co poprzednio,

zastrzeżeniami. Znamy już wygląd deklaracji takiej zmiennej: var Promien : real;

booleanDwuelementowy zbiór wartości logicznych: true (prawda) i false (fałsz). Zmienna

tego typu, zadeklarowana jako np.var Warunek : boolean; może być użyta np. w podstawieniachWarunek :=true;Warunek :=(2 = 3);Warunek : Warunek and not Warunek; char

Zbiór znaków kodu ASCII. Wypisywalny znak tego kodu oznacza się poprzez uję-cie go w pojedyncze apostrofy. Np. zadeklarowawszy

var Odpowiedz:char; możemy użyć np. podstawieniaOdpowiedz := 's';Podobnie jak w przypadku typu integer, również tutaj możemy dostępny zbiór zna-

ków zawęzić poprzez okrojenie typu: var DuzaLitera : 'A'..'Z';

Bardzo istotną regułą PASCAL-a jest zasada zgodności typów. Mówi ona o tym, że nie jest dozwolone nadawanie zmiennej określonego typu wartości, nie będącei ele-mentem tego typu. Oznacza to, że np. zmiennej typu boolean nie możemy przypisać wartości całkowitej. JEDYNYM WYJĄTKIEM od tej zasady jest dopuszczenie podsta-wienia liczby całkowitej na zmienną typu real. W poniższym programie wszystkie uży-te podstawienia są błędne.

var Znak : char; N : integer; Iks : real; Warunek := boolean;begin Znak := 2; N := Iks; N := 1.0; Warunek: 'c'; IKS : not Warunekend.

OPERACJE ARYTMETYCZNEWykonując obliczenia na liczbach rzeczywistych, mamy do dyspozycji cztery pod-

stawowe działania arytmetyczne użyte już przez nas w podawanych przykładach:+ — dodawanie- — odejmowanie* — mnożenie/ — dzielenie

Trzy pierwsze działania mogą też być wykonywane dla liczb całkowitych. Zamiast dzielenia dla liczb tych wprowadzono operatory:

a div b — część całkowita ilorazu a przez b a mod b — reszta z dzielenia a przez b.

Oprócz powyższych dzałań podstawowych PASCAL oferuje użytkownikowi gamę funkcji standardowych, pozwalających na wykonywanie obliczeń:

abs (x) — wartość absolutna (moduł) liczby xsqr (x) — kwadrat liczby xsin (x) — funkcja sinuscos (x) — funkcja cosinusarctan (x) — funkcja arcus tangensexp (x) — exln (x) — logarytm naturalny liczby xsqrt (x) — pierwiastek kwadratowy liczby xtrunc (x) — część całkowita liczby. Funkcja ta pozwala na zmianę wartości

typu real na wartość typu integerround (x) — zaokrąglenie x do liczby całkowitej. Zastosowanie podobne,

jak w przypadku funkcji truncodd (i) — funkcja wskazująca na parzystość liczby całkowitej i; przyjmuje wartość true dla i nieparzystych i false w przeciwnym przypadku

OPERACJE LOGICZNEW odniesieniu do zmiennych i wyrażeń logicznych (typu boolean) możemy uży-

wać następujących operacji: a and b — koniunkcja wartości wyrażeń a i b, a or b — alternatywa wartości a i b,not a — wartość przeciwna wartości a.

DZIAŁANIA NA ZMIENNYCH ZNAKOWYCHW odniesieniu do elementów kodu ASCII możemy stosować następujące funk-

cje:succ(x) — element typu następny względem x, pred (x) — element typu poprzedni względem x, ord (x) — numer znaku w kodzie ASCII. , chr (x) — znak kodu ASCII o numerze n.

BUDOWA ALGORYTMUPoznaliśmy już pewną ilość instrukcji, pozwalającą na budowę prostych progra-

mów. Znamy już np instrukcję warunkową postaciIF <warunek> THEN <instrukcja>;IF <warunek> THEN <instrukcja> ELSE <instrukcja>; gdzie <warunek> jest wyrażeniem typu boolean <instrukcja> oznacza natomiast

instrukcję prostą lub złożoną. Przypomnijmy jeszcze, że pod pojęciem instrukcji zło-żonej rozumiemy ciąg instrukcji — być może również złożonych — ujęty w słowa BEGIN...END.

Przypuśćmy teraz, że w programie pascalowym występuje następujący ciąg in-strukcji.

if x = 0 then write ('Niedobrze'); if x = 1 then write ('Średnio'); if x = 2 then write ('Dobrze');

W tym przypadku w zależności od wartości zmiennej x podejmowane są różne działania. Użyliśmy w tym celu wielokrotnie instrukcji warunkowej. Ten sam fragment da się jednak zapisać prościej:

case x of 0 : write ('Niedobrze'); 1 : write ('Średnio'); 2 : write ('Dobrze'); end.

Pierwszą linię tego przykładu, „case x of”. moglibyśmy przetłumaczyć jako „wy-bierz x spośród:”. Następne trzy wiersze zawierają listę możliwych wartości zmiennej x oraz instrukcji. Wykonywanych w przypadku, gdy wartość x jest równa umieszczone) przed dwukropkiem etykiecie. Konieczne jest w tym przypadku wymienienie wszystkich możliwych wartośći zmiennej x. W przeciwnym wypadku efekt wykonania całej instruk-cji może być nieokreślony Podobnie jak w instrukcji warunkowej, tak i tutaj mamy jednak możliwość określenia instrukcji wykonywanej w przypadku, gdy wartość x nie odpowia-da żadnej z liczb umieszczonych na liście. Zmodyfi kujemy nasz fragment następująco:

WSTĘP DO PROGRAMOWANIA W JĘZYKU

PASCAL cz. II

Page 7: Bajtek Redux 11/1986

7BAJTEK 11/86http://www.reduksy.pl/

PROGRAMOWAĆ MOŻE KAŻDYcase x of0 : write( 'Niedobrze);1 : write ('Średnio'):2 : write ('Dobrze';else write ('Poniżej krytyki'):end

Zapisując podobną instrukcję wewnątrz programu, należy pamiętać o braku śred-nika przed słowem ELSE oraz o zakończeniu instrukcji CASE słowem END (któremu wszakże nie odpowiada słowo BEGIN, jak w pozostałych przypadkach).

PĘTLEPoznane dotychczas elementy języka PASCAL jeszcze nie pozwalają nam na bu-

dowę pętli wewnątrz programu. Przedstawmy więc postacie pętli dostępne w tym ję-zyku.

Bodaj najczęściej używaną postacią pętli jest instrukcja: WHILE <warunek> DO <instrukcja>;W wolnym tłumaczeniu linia powyższa oznacza „dopóki zachodzi wymieniony wa-

runek, wykonuj daną instrukcję”. Oto prościutki przykład użycia:i : =0;while i < 10000 do begin writeln (i); i: = + 1;end;

Jak łatwo zauważyć, wykonanie tego krótkiego fragmentu spowoduje wypisanie kolumny liczb od 0 do 9999. Składnia PASCAL-a dopuszcza również użycie instruk-cji w postaci

REPEAT <instrukcja> UNTIL <warunek>;(„powtarzaj daną instrukcję do chwili, gdy zajdzie wymieniony warunek”). Użyjmy

instrukcji REPEAT w podobnym do poprzedniego przykładzie.i:=0; repeat writeln (i); i : = i + 1 until i > = 10000;

Słowa REPEAT i UNTIL stanowią w tym przypadku klamrę zamykającą instruk-cję złożoną wewnątrz pętli; w związku z tym nie zachodzi potrzeba dodatkowego uży-cia BEGIN..END.

Efekt działania obu naszych programików będzie identyczny. Wbrew pozorom jed-nak instrukcje WHILE i REPEAT nie są równoważne. Zauważmy, że w przypadku WHILE warunek końca jest sprawdzany przed wykonaniem instrukcji w pętli, nato-miast w przypadku REPEAT — po jej wykonaniu. Z tego powodu instrukcja wewnątrz pętli REPEAT jest zawsze wykonywana co najmniej raz. Ostatnią z dostępnych w PASCAL-u postaci pętli jest

FOR <zmienna> := <wartość pocz.>; TO <wartość końcowa> DO <instrukcja>;Jest to dobrze znana użytkownikom BASIC-a pętla FOR.Użyjemy jej w tym samym celu, co poprzednio WHILE i REPEAT — wypiszemy

liczby całkowite od 0 do 9999. for Liczba := 0 to 9999 do writeln (Liczba);Zmienna indeksująca Liczba musi być typu integer. Zapis powyższy przetłumaczo-

ny na język potoczny jako „dla zmiennej Liczba przyjmującej wartości od 0 do 9999 wypisz jej wartość”.

Wartość zmiennej indeksującej jest po każdym wykonaniu instrukcji w pętli zwięk-szana o 1. Możemy również uzyskać proces odwrotny — zmniejszanie tej zmiennej w każdym kroku o 1. Napiszemy wówczas:

for Liczba := 9999 downto 0 do writeln (Liczba); PASCAL nie przewiduje jednak wykonywania pętli FOR z dowolnym przyrostem

zmiennej indeksującej. W razie potrzeby łatwo jest się posłużyć instrukcją WHILE lub REPEAT

Cztery krótkie programy zamieszczone obok ilustrują użycie w praktyce omówio-nych konstrukcji programowych.

Marek Wyrwidąb

program Miniliczba:

{Program obliczający najmniejsza co do modułu liczbę reprezentowalna przez komputer}

const Zero = 0.0;

var Iks1, Iks2 : real;

begin Iks1 := 1; writeln (‘Momencik...’); while Iks1 <> Zero do begin Iks2 := Iks1; Iks1 := Iks1 / 2; end; writeln (‘ Najmniejsza reprezentowalna ‘); writeln (‘ liczba wynosi: ‘. Iks2); end.

program Pytanie;{Jedno banalne pytanie z historii Polski }

var Rok: integer;

begin writeln (‘ W ktorym roku byla bitwa pod Grunwaldem? ‘): writeln (‘ Czekam na odpowiedz! ‘); writeln:

repeat read (Rok): write (‘ - ‘); if Rok = 1410 then writeln (‘ Dobra odpowiedz! ‘) else writeln (‘ Bardzo zle! Musisz probowac dalej... ‘); until Rok = 1410

end.

program ASCII;

{Program wypisujacy tablice znaków kodu ASCII, od znaku nr 32 do 255, przy uzyciu standartowej funkcji chr }

const RozmEkranu = 20; IloscKolumn = 5;

var Indeks : integer; Enter : char:

begin writeln (‘TABELA ZNAKÓW KODU ASCII : ‘); writeln; for Indeks := 32 to 255 do begin write (Indeks. ‘ : ‘. chr (Indeks). ‘ ‘); if Indeks mod IloscKolumn = 0 then writeln: if Indeks mod (RozmEkranu * IloscKolumn) = 0 then begin writeln (‘ Wciśnij ENTER... ‘); read (Enter) end endend.

Program Test;

{Przyklad realizacji testu komputerowego}

var Odpowiedz : char;

begin writeln (‘ Pvtanie testowe : ‘); writeln; writeln (‘ Co po polsku oznacza “RAM” ? ‘); writeln (‘ A: “ pamiec stala “ ‘); writeln (‘ B: “ pamiec o losowvm dcsteoie “ ‘); writeln (‘ C: “ pamiec wewnętrzna “ ‘); writeln (’ D: “ pamiec o swobodnym dostepie “ ‘); writeln (‘ Wybierz odoowiedz: A, B, C lub B... ‘); read (Odpowiedz); writeln; case Odpowiedz of ‘A’.’a’, ‘C’.’c’ : writeln (‘ Bardzo zle ! ‘); ‘B’.’b’ : writeln (‘ Jest lepsza odpowiedz.. ‘); ‘D’.’d’ : writeln (‘ Swietnie ! ‘); else writeln (‘ Pardon ? ‘); end end.

Page 8: Bajtek Redux 11/1986

8 BAJTEK 11/86http://www.reduksy.pl/

KLAN AMSTRAD–SCHNEIDERNIE

ma chyba drugie-go komputera — przy-najmniej z tych, popu-

larnych w naszym kraju — na którym z taką łatwością moglibyśmy defi niować własne znaki uzyskiwane z klawiatury. Dostępne w BASIC-u Amstrada komen-dy: SYMBOL, SYMBOL AFTER, KEY, KEY DEF, rozwiązują problem w dwóch, trzech linijkach. I właśnie dlatego, w każ-dym programie napisanym w Polsce li-tery takie jak: ą, ć, ę... uzyskiwane są przez naciśnięcie innych kluczy. A może warto pokusić się o zaproponowanie standardu?

Program POLSKIE LITERY nie po-wstał w naszej redakcji, nie został tak-że napisany przez żadnego z naszych współpracowników. Jest on fragmentem programu POLNOTES krążącego już od pewnego czasu wśród użytkowników Amstrada. Niestety, nie znamy jego au-tora, a więc nie możemy mu oddać peł-nej satysfakcji. Zapraszamy go jednak do współpracy z naszą redakcją.

Znaki polskiego alfabetu zostały w tym programie zdefi niowane na klu-czach funkcyjnych czyli dodatkowej kla-wiaturze numerycznej, jednak bez ko-nieczności rezygnacji z korzystania z tej ostatniej. Pomysł jest prosty — małe li-tery, specyfi czne dla naszej pisowni, otrzymujemy naciskając klucze funkcyj-ne łącznie z kluczem SHIFT natomiast duże z CONTROL

Zasady działania programu nie mu-simy chyba wyjaśniać, gdyż wynika ona bezpośrednio z działania komend BASl-C-a opisanych w każdej instrukcji obsłu-gi. Przedstawiamy za to rozmieszczenie znaków na klawiaturze funkcyjnej.

(rp)

... i odrobina zabawy nie zaszkodzi. Nagrodą za pracowite „wstukanie” pro-gramu będzie nie tylko ruchoma rekla-ma „Bajtka”. Zmieniając tekst w liniach od 120 do 180 możemy również zare-klamować własne umiejętności.

Program wykorzystuje możliwość programowania układu scalonego 6845, czyli kontrolera ekranu w Amstradzie. Wysokość tekstu może być zmieniona od normalnego wymiaru znaku, a więc jednej linii aż do 16-tu linii (patrz końco-we cyfry w liniach DATA).

Natomiast w liniach 330 do 560 za-pisana jest w kodzie maszynowym pro-cedura przesuwania liter na ekranie oraz programowanie koloru tła i napisów (linia 60). Kolory te (1 +RND*255) nie mają nic wspólnego z używanymi przez Basic, są to argumenty wprowadzane bezpośred-nio do pamięci ekranu. Poeksperymen-tuj z nimi do czasu znalezienia odpowia-dającej ci kombinacji.

Uwaga: maksymalna długość tekstu zależy od jego wielkości — im mniejsze litery, tym dłuższy tekst może być wy-świetlany w jednej linii.

Wojciech Ziółek

10 ` Wedrujace litery 20 GOSUB 200:RESTORE 30 BORDER 0:INK 0,0 40 WHILE NOT asleep50 READ a$,size:IF a$="END" THEN RESTORE:GOTO 5060 CALL &A000,@a$,1+RND*255,1+RND*255,size70 WEND 80 RESTORE 90 WEND 100 END 110 :120 DATA "Czytaj Bajtka....",2130 DATA "Czytaj Bajtka....",4140 DATA "Czytaj Bajtka....",8150 DATA "Czytaj Bajtka....",16160 DATA "Czytaj Bajtka....",4170 DATA "Tylko Bajtek nauczy cie poslugiwac sie

komputerem ",4 180 DATA "Jego autorzy dbaja o wysoki poziom

prezentowanego materialu ",16190 DATA END,1200 ` ----Store Machine Code----210 MEMORY &9FFF:adress=&A000220 RESTORE 330230 FOR i=1 TO 24240 sum=0:READ code$,check$250 FOR j=1 TO 21 STEP 2260 byte=VAL("&"+MID$(code$,j,2))270 POKE adress,byte280 sum=sum+byte:adress=adress+1 290 NEXT300 IF sum<>VAL("&"+check$) THEN PRINT "Error

in data line";340+i*10

310 NEXT

320 RETURN

330 DATA a7c83d28243d280add7e00,3c2

340 DATA 3288a0dd23dd233d280add,4a6

350 DATA 7e003286a0dd23dd23dd7e,531

360 DATA 003280a0dd23dd23dd6e00,49d

370 DATA dd66017ea7c83209a12322,452

380 DATA 3ba0dd2a00003e01cd0ebc,3b8

390 DATA 219fc02266a02100002207,2f2

400 DATA a1dd7e00cda5bbcd06b911,5c6

410 DATA ffa0010800edb0cd09b906,4da

420 DATA 08f3110000c5cb40ca78a0,4be

430 DATA 0601cdcba010fbcddca006,599

440 DATA 0821ffa0c5e50effcb2638,5a8

450 DATA 020e000608626b71233600,1b5

460 DATA 2b7cc60867d29ba01150c0,50a

470 DATA 1910ee545de123c110d92a,4a0

480 DATA 66a0014f00a7ed42060836,370

490 DATA 007cc6086710f82a66a023,40c

500 DATA 2266a0c110a4dd232109a1,468

510 DATA 35c24ea0c9f5c506f5ed78,6c8

520 DATA 1f38fbed781f30fbc1f1c9,67c

530 DATA 2a07a123232207a1cb3ccb,3b4

540 DATA 1d0100bc3e0ced79047cc6,3d0

550 DATA 30ed79053e0ded79047ded,4ba

560 DATA 79c9000000000000000000,142

POLS

KIE

LITE

RY

1000 SYMBOL AFTER 1701005 SYMBOL 171,0,0,120,12,124,204,118,31010 SYMBOL 172,24,60,102,102,126,102,102,31020 SYMBOL 173,24,0,60,102,96,102,60,01030 SYMBOL 174,24,60,102,192,192,102,60,01040 SYMBOL 175,0,0,60,102,126,96,60,61050 SYMBOL 176,254,98,104,120,104,98,254,31060 SYMBOL 177,56,24,28,24,56,24,60,01070 SYMBOL 178,240,96,112,96,226,102,254,01080 SYMBOL 179,24,0,220,102,102,102,102,01090 SYMBOL 180,24,198,230,246,222,206,198,01100 SYMBOL 181,24,0,60,102,102,102,60,01110 SYMBOL 182,12,56,108,198,198,108,56,01120 SYMBOL 183,24,0,60,96,60,6,124,01130 SYMBOL 184,24,60,96,60,6,102,60,01140 SYMBOL 185,24,0,126,76,24,48,126,01150 SYMBOL 186,254,198,140,126,48,102,254,01160 SYMBOL 187,12,24,126,76,24,48,126,01170 SYMBOL 188,48,254,172,24,50,102,254,01220 KEY DEF 10,1,55,171,1721230 KEY DEF 11,1,56,173,1741240 KEY DEF 3,1,57,175,1761250 KEY DEF 20,1,52,177,1781260 KEY DEF 12,1,53,179,1801270 KEY DEF 4,1,54,181,1821280 KEY DEF 13,1,49,183,1841290 KEY DEF 14,1,50,185,1861300 KEY DEF 5,1,51,187,188

TROCHĘ RUCHU...

Page 9: Bajtek Redux 11/1986

9BAJTEK 11/86http://www.reduksy.pl/

10 `*** Monitor ***20 `*** Inicjalizacja ***30 MODE 2:WINDOW #1,3,78,4,14:PEN #1,0:PAPER

#1,1:CLS #140 WINDOW #2,5,50,16,17:WINDOW

#3,3,78,19,23:PEN #3,0:PAPER #3,1:CLS #3 50 WINDOW #4,3,78,2,3:PEN #4,0:PAPER #4,1:CLS

#460 LOCATE 22,1:PRINT "------Monitor kodu

maszynowego------"70 ON BREAK GOSUB 450 80 GOTO 31090 ̀*** Sprawdzanie pamieci *** 100 INPUT #2,"Adres poczatkowy ";adr 110 CLS #4:PRINT #4," Adres pamieci

Zawartosc pamieci"120 PRINT #4," dziesietny hex";"

";"dziesietna hex bin chr$"130 adr=ABS(adr):PRINT #1,TAB(10)adr;TAB(21)

HEX$(adr,4);TAB(41)PEEK(adr);TAB(52)HEX$(PEEK(adr),4);TAB(60)BIN$(PEEK(adr),8);

140 IF PEEK(adr)>32 THEN PRINT #1,TAB(74)CHR$(PEEK(adr));:PRINT #1

150 IF adr=65535 THEN STOP ELSE adr=ABS(adr)+1160 IF INKEY$="m" OR INKEY$="M" THEN 310170 GOTO 130180 `*** Modyfikacja pamieci ***190 CLS #1:INPUT #2,"Od jakiego adresu chcesz

zmieniac zawartosc pamieci? ",adr200 IF adr>65535 THEN 190210 CLS #4:PRINT #4,TAB(5)"Adres komorki

pamieci";TAB(55)"Zawartosc pamieci"220 PRINT #4,"dziesietny";TAB(22)"hex" 230 PRINT #1,TAB(2)adr;TAB(21)

HEX$(adr,4);TAB(64); 240 INPUT #1,al$ 250 IF al$="" THEN 290260 IF al$="m" OR al$="M" THEN 310270 IF VAL(al$)>255 THEN 230280 POKE (adr),VAL(al$)290 IF adr=65535 THEN END ELSE adr=adr+1300 GOTO 230310 `*** Menu ***320 PRINT #3," --------------MENU-----

----------------- "330 PRINT #3," 1--->sprawdzanie pa-

mieci"340 PRINT #3," 2--->modyfikacja pa-

mieci"350 PRINT #3," 3--->powrot do Basic'a"360 PRINT #3," 4--->sprawdzanie pa-

mieci z jednoczesnym wydrukiem"370 `*** Sprawdzanie wybranej opcji ***380 INPUT #2,"Co wybierasz z menu? ",a$390 IF a$="1" THEN 90400 IF a$="2" THEN 180410 IF a$="3" THEN MODE 2:STOP420 IF a$="4" THEN 490430 GOTO 380440 `*** zatrzymanie ***450 LOCATE 2,24:PRINT "przerwa"460 IF INKEY$="" THEN 460470 LOCATE 2,24:PRINT "480 RETURN490 ̀*** Sprawdzanie pamieci z jednoczesnym

wydrukiem ***500 INPUT #2,"Adres poczatkowy ";adr510 CLS #1:PRINT #8,"----poczatek---> ";adr520 CLS #4:PRINT #4," Adres pamieci

Zawartosc pamieci"530 PRINT #4," dziesietny hex";"

";"dziesietna hex bin chr$"540 PRINT #8," Adres pamieci

Zawartosc pamieci"550 PRINT #8," dziesietny hex";"

";"dziesietna hex bin chr$"560 adr=ABS(adr):PRINT #1,TAB(10)adr;TAB(21)

HEX$(adr,4);TAB(41)PEEK(adr):TAB(52)HEX$(PEEK(adr),4);TAB(60)BIN$(PEEK(adr),8);

570 IF PEEK(adr)>32 THEN PRINT #1,TAB(74)CHR$(PEEK(adr));:PRINT #1

580 PRINT #8,TAB(10)adr;TAB(21)HEX$(adr,4);TAB(41)PEEK(adr);TAB(52)HEX$(PEEK(adr),4);TAB(60)BIN$(PEEK(adr),8);

590 IF adr=65535 THEN STOP ELSE adr=ABS(adr)+1600 IF INKEY$="m" OR INKEY$="M" THEN 310610 GOTO 560

PAMIĘĆ POD LUPĄ

Podczas pracy na komputerze przy-datna jest czasem możliwość „podglą-dania” zawartości pamięci lub jej mody-fi kacji. Wymagania takie spełnia przed-stawiony tutaj prosty program, nazwa-ny monitorem.

Dla łatwiejszego zrozumienia działania programu podstawowe jego bloki (podprogramy) opatrzone są krótkim komentarzem. W momencie urucho-mienia programu blok „Inicjalizacja” defi niuje tryb pracy monitora, kolory i okna tekstowe. Ustala re-akcję programu na zatrzymanie klawiszem ESC przez odesłanie do podprogramu „Zatrzymanie”, a następnie przechodzi skokiem bezwarunkowym (linia 80) do podprogramu „Menu”.

W zależności od wybranej opcji (linie 390-420) uruchamiane zostają podprogramy: sprawdzanie pamięci, modyfi kacja pamięci lub sprawdzanie pamięci z jednoczesnym wydrukiem na drukarce. Wybór opcji 3 (powrót do BASIC-a) powoduje wy-

czyszczenie ekranu (MOD 2) i zatrzymanie wyko-nywania programu (STOP).

Wciśnięcie klawisza ESCAPE podczas pra-cy powoduje zatrzymanie programu tylko do mo-mentu wciśnięcia dowolnego innego klawisza. Przerwanie wykonywania programu i powrót do Menu uzyskuje się przez przytrzymanie przez chwilę klawisza M (patrz linie 460, 260, 600).

Spójrzmy jeszcze na linie 110, 120 i 130, w któ-rych dokonuje się dwoma różnymi metodami ta-blicowanie wydruku i porównajmy je z liniami 210, 220 i 230. Wnioski pozostawiamy Czytelnikom.

na podstawie Amstrad Magazine

Wojciech Ziółek

Page 10: Bajtek Redux 11/1986

10 BAJTEK 11/86http://www.reduksy.pl/

KLAN SPECTRUMPowszechnie znane są

kłopoty w ZX SPEC-TRUM związane

z uszkodzeniem pamięci RAM 4116. Najczęstszą przyczyną tego uszkodzenia jest zła praca przetwornicy napięcia.

Gdy coś takiego się już zda-rzy — czego nikomu nie życzę — można przy wymianie pa-mięci wykorzystać układy 4116 zasilane pojedynczym napię-ciem +5V. W polskim katalogu produkowanych układów sca-lonych, pamięci takie są za-mieszczone pod oznaczeniem MCY 7161. Wymieniając pamię-ci na zasilane pojedynczym na-pięciem, należy dokonać drob-nych zmian w połączeniu koń-cówek układów, które wynikają ze zmiany zasilania. Dla ukła-du 4116 w wersji trójnapięcio-wej (montowane w standardo-wej wersji ZX SPECTRUM) za-silanie podane jest na:

- 5V — końcówka 1 + 12V —

Przedstawiam program ZX-Spectrum, służą-cy do automatycznej renumeracji linii. Z wie-

lu innych programów tego typu wyróżnia go:— szybkość działania,— początek renumeracji rozpoczyna się od

linii wskazywanej przez kursor programowy (co go różni od innych tego typu programów) — bardzo przydatne,

— wartość skoku linii może mieć dowolną liczbę — wpisuje się ją sekwencją:

POKE 60001 ,SKOK-256xlNT (SKOK/256) POKE 60002,INT (SKOK/256)

— jest relokowalny,— przyjmując wartość skoku=16384 (POKE

60002,64), linie znajdujące się za kursorem zostają usunięte z ekranu (nie z komputera) i nie biorą udziału w programie. Przywrócenie ich z powrotem następuje przy wartości sko-ku mniejszej od 9999. Jest to bardzo przydatne przy pisaniu długich programów (linie te wów-czas nie przeszkadzają).

Ze względu na długość tego programu (RANDOMIZE USR 60000) należy uważać, aby kursor programu nie był „ukryty”.

Andrzej Dziarnowski

Program „Wykres” służy do przed-stawiania danych liczbowych w postaci pseudotrójwymiarowych słupków.

Na początku program pyta się o tytuł wykre-su. Można wpisać dowolny tekst, jednak tylko pierwsze 32 znaki będą przyjęte. Następnie pro-gram pyta się o rodzaj skalowania. Jeśli wybra-ne zostanie skalowanie automatyczne wówczas wykres będzie skalowany według największego słupka, jeśli nie — program spyta o wartość we-dług której odbędzie się skalowanie.

Teraz należy podać ilość słupków (maksy-malnie — 16) oraz określić wartość, kolor i na-zwę każdego z nich. Trzeba pamiętać, że przy skalowaniu nieautomatycznym wartości słup-ków nie mogą być większe od wartości według której odbywa się skalowanie.

Po zdefi niowaniu wszystkich słupków, na ekranie rozpocznie się rysowanie. Po jego za-kończeniu użytkownik ma następujące opcje. Klawisz „D” — włączenie/wyłączenie opisu

liczbowego wykresu Klawisz „L” — wyświetlenie legendy wykresu.

Naciśnięcie klawisza ponownie spowoduje powrót do wykresu

Klawisz „W” — wydruk ekranu na drukar-ce (standardowa instrukcja „COPY”

Klawisz „N” — nowy wykres.

80-340 wczytanie danych i parametrów wykresu 350-420 skalowanie 430-550 rysowanie wykresu 560-610 czytanie klawiatury 620-730 podprogram rysujący słupki 740-805 podprogram wprowadzający kod maszynowy do

szybkiego przełączania ekranów 810-930 podprogram rysujący opis liczbowy 940-960 podprogram rysujący legendę.

Michał Szuniewicz

10 BORDER 0: PAPER 0: INK 720 POKE 23658,830 LET X=0: LET Y=0: LET Q=040 LET W=0: LET EK=150: LET SV=0: LET

C$="": LET Q$=""50 LET D=10: LET G=4: LET L=860 LET LEG=0: CLS70 GO SUB 74080 FOR T=0 TO 31: LET C$=C$+CHR$ 32: NEXT T90 PRINT AT 21,0;"TYTUL:"100 INPUT LINE T$110 IF LEN T$>32 THEN LET T$=T$(1 TO 32)120 CLS130 PRINT AT 21,0;"SKALOWANIE AUTOMATYCZNE

(T/N) ?"140 INPUT LINE A$150 CLS160 LET SA=1170 IF A$="N" OR A$="n" THEN PRINT AT

21,0;"DO JAKIEJ WARTOSCI SKALOWAC ?": INPUT S: LET SA=0: CLS

180 PRINT AT 21,0;"ILOSC SLUPKOW (MAX-16):": INPUT IS: CLS

190 IF IS>16 THEN BEEP .1,30: GO TO 180200 DIM W(IS): DIM K(IS): DIM P(IS): DIM

N$(IS,12)210 FOR T=1 TO IS220 PRINT AT 21,0;"WARTOSC SLUPKA #";T:

INPUT W(T): LET W(T)=ABS W(T)230 IF SA=1 THEN LET S=W(T)240 IF SA=0 AND W(T)>S THEN BEEP .1,30:

PRINT AT 21,0;"WARTOSC WIEKSZA OD SKALI": PAUSE 100: PRINT AT 21,0;C$: GO TO 220

250 PRINT AT 21,0;"KOLOR SLUPKA #";T;" (1-7)": INPUT K(T): PRINT AT 21,0;C$

260 IF K(T)<1 OR K(T)>7 THEN BEEP .1,30: PRINT AT 21,0;"NIE MA TAKIEGO KOLORU": PAUSE 100: PRINT AT 21,0;C$: GO TO 250

270 PRINT AT 21,0;"NAZWA SLUPKA #";T: INPUT LINE N$(T)

280 PRINT AT T,0;T;")";AT T,3; INK K(T);CHR$ 143; INK 7;N$(T);" =";W(T)

290 NEXT T

300 PRINT AT 21,0;C$310 POKE 40032,196: POKE 40035,27:

RANDOMIZE USR 40027320 PRINT AT 21,0;"LISTA O.K (T /N) ?":

INPUT LINE A$330 IF A$="N" OR A$="n" THEN CLS : GO TO

210340 CLS350 IF SA=0 THEN GO TO 400360 FOR T=1 TO IS370 IF W(T)>W THEN LET W=W(T)380 NEXT T390 LET S=W400 FOR T=1 TO IS410 LET P(T)=INT (W(T)*EK/S)420 NEXT T430 GO SUB 810440 FOR T=1 TO IS450 INK K(T)460 FOR Y=0 TO P(T)470 GO SUB 620480 NEXT Y490 IF P(T)<7 THEN GO SUB 690500 OVER 1: GO SUB 670: OVER 0510 PLOT OVER 1;X+D+G,Y+L-1: DRAW OVER

1;0,-(P(T)+1)520 LET X=X+16530 NEXT T540 PRINT AT 0,0; BRIGHT 1; INK 7; INVERSE

1;T$550 POKE 40032,227: POKE 40035,27:

RANDOMIZE USR 40027560 LET A$=INKEY$570 IF (A$="D" OR A$="d") AND LEG=0 THEN

RANDOMIZE USR 40000580 IF A$="W" OR A$="w" THEN COPY590 IF A$="N" OR A$="n" THEN RUN600 IF A$="L" OR A$="l" THEN GO SUB 940610 GO TO 560620 PLOT X,Y: DRAW D,0630 DRAW G,L: DRAW -D,0640 DRAW -G,-L650 PLOT OVER 1;X+D,Y660 RETURN

10 FOR n=60000 TO 60053

20 READ a: POKE n,a30 NEXT n40 DATA 1, 10, 0, 42,

83, 92, 86, 35, 94, 229, 235, 237, 91, 73, 92, 237, 82, 225, 48, 8, 35, 94, 35, 86, 35, 25, 24, 234, 43, 114, 35, 115, 35, 215, 94, 35, 86, 55, 25, 237, 91, 75, 92, 229, 167, 237, 82, 209, 225, 208, 9, 235, 24, 231

SŁUPKI

RENUMERACJA

KŁOP

OTY

Z PA

MIĘC

Page 11: Bajtek Redux 11/1986

11BAJTEK 11/86http://www.reduksy.pl/

KLAN SPECTRUM

MASTER

TOOLKITkońcówka 8 + 5V — końców-ka 9

0V — końcówka 16Natomiast dla wersji jedno-

napięciowej (np. MCY 7161) zasilanie| podane jest na:

X — końcówka 1 +5V— końcówka 8 X — końcówka 9 0V — końcówka 16

UWAGA: X oznacza koń-cówkę! nie podłączoną.

I jeszcze jedna bardzo waż-na sprawa. Gdy to tylko jest możliwe, kasowanie pamię-ci mikrokomputera powinno odbywać się rozkazem RAN-DOMIZE USR 9 a nie wycią-ganiem wtyczki zasilacza (do-tyczy to ZX SPECTRUM bez przycisku RESET). W sytuacji gdy trzeba ją wyjąć, nie należy wkładać natychmiast po wy-jęciu, lecz odczekać kilka se-kund, aby niej spowodować nieprawidłowej pracy prze-twornicy napięcia.

Konrad Fedyna

ZX SPECTURM posiada nie naj-lepsze oprogramowanie interpre-tera BASIC i dlatego powstało kil-ka programów tzw. „protez”, które po wczytaniu do pamięci mikrokompute-ra rozszerzają jego możliwości. Przy-kładem takiego programu jest MA-STER TOOLKIT fi rmy OCP. Pro-gram umożliwia wygodna obróbkę nowo pisanego programu poprzez danie do dyspozycji programiście szeregu nowych funkcji, które nor-malnie nie istnieją w ZX SPECTRUM.

Ładowanie programu odbywa się rozkazem: LOAD „” <ENTER>. „Toolkit” musi być załadowany przed pro-gramem w języku BASIC, który może być wprowadza-ny z klawiatury lub załadowany z taśmy za pomocą komendy „LOAD” lub „MERGE”. „Toolkit” wymusza przejście do trybu INTERRUPT 2. Jeżeli zostanie uży-ta komenda „RUN” to program przechodzi w tryb IN-TERRUPT 1, w którym „Toolkit” nie wykonuje swoich funkcji. Ponowne wznowienie pracy programu „Toolkit” i przejście do trybu INTERRUPT 2 następuje po wyko-naniu komendy: RADOMIZE USR 65533.

Wywołanie programu „Toolkit” odbywa się w nor-malnym trybie edycyjnym (tzn. gdy miga kursor w le-wym dolnym rogu ekranu), poprzez równoczesne na-ciśnięcie klawiszy SYMBOL SHIFT i SPACE Wówczas ukazuje się nazwa programu i notatka o prawach au-torskich. Rozkazy programu „Toolkit” mogą być wpro-wadzane za pomocą małych lub dużych liter.

Powrót do BASIC-u z programu „Toolkit” nastąpi po komendzie: b <ENTER>.

Komendy „Toolkita” można korygować w normalny sposób, tzn. za pomocą klawiszy kursora i DELETE, zaś ekran oczyszczać za pomocą rozkazu CLS.

Czasami zachodzi potrzeba wprowadzenia w pro-gramie „Toolkit” słowa kluczowego języka BASIC (np. przy przeszukiwaniu tekstu). Można tego dokonać w dwojaki sposób:

a) Przed wymaganym słowem kluczowym nale-ży wprowadzić słowo THEN oraz wymagane słowo kluczowe, następnie przesunąć kursor przed słowo THEN i skasować je klawiszem DELETE. b) Nacisnąć równocześnie klawisz SPACE i klawisz K, wtedy pojawi się migający kursor K, pozwalający wprowadzić wymagane słowo kluczowe.

UWAGA:

KOMENDY „TOOLKITA” MUSZĄ BYĆ WPROWADZA-NE LITERA PO LITERZE.

W podanych niżej opisach komend „Toolkita” operu-je się słowem „zakres” oznaczającym zakres numerów linii programu w języku BASIC, w którym „Toolkit” ma wypełnić jakieś funkcje. A oto możliwe formy „zakresu”:

n1 – n2 – od linii o numerze ni1 do linii n2;n1 – – od linii n1 do końca programu;– n2 – od początku programu do linii n2 włącznie,

n1 – n1 – tylko linia n1;– – cały program w języku BASIC.

PODSTAWOWE KOMENDY PROGRAMU TOOLKIT

UWAGA: Pomiędzy komendą „Toolkita” a jej para-metrami musi występować spacja, zaś wszelkie komendy muszą się kończyć na-ciśnięciem klawisza ENTER

cl g:m:s – ustawienie zegara na godzinę g, minutę m i sekundę s.

cl on – włączenie zegara i wyświetlenie czasu poda nego wyżej.

cl off – wyłączenie wyświetlania czasu, nie powodu-jące zatrzymania zegara.

cl – wyświetlenie na ekranie bieżącego czasu.

UWAGA: Zegar przestaje pracować na okres działania rozkazu typu LOAD, MERGE, VERI-FY, BEEP. To samo dotyczy funkcji „alarm”, opisanej poniżej.

al g:m:s – ustawienie alarmu dźwiękowego na godzi-nę g, minutę m i sekundę s.

al on – włączenie gotowości alarmu.

al off – wyłączenie gotowości alarmu.

al – wyświetlenie czasu alarmu, powoduje likwi-dację sygnału alarmowego jeśli jest on wysy-łany.

b – powrót do systemu BASIC.

I zakr es – listowanie linii występujących w podanym za-kresie, przy czym jeśli listing liczy więcej niż 22 wiersze to pojawia się napis „scroll?”, na który nale-ży odpowiedzieć tak samo jak w systemie BASIC.

mer n 1, n2 – połączenie linii n1 i linii n2 w jedną linię o numerze n1; np. dla programu:

10 FOR a = 1 TO 10 20 NEXT a komenda mer 10, 20 powoduje utworzenie li-

nii: 10 FOR a = 1 TO 10:NEXT a

zaś komenda mer 20,10 tworzy linię następu-jącą:

20 NEXT a:FOR a = 1 TO 10

mer n, n – zdublowanie linii o numerze n: np. dla linii:

15 PRINT q po komendzie mer 15,15 otrzymujemy: 15 PRINT q:PRINT q

del zakres – skasowanie linii w podanym za-kresie. Kiedy podany jest pusty zakres, to kasowany jest cały pro-gram w języku BASIC. Po komen-dzie del pojawia się pytanie:

DELETE WHOLE? Y/N

na które odpowiedź „Y” powoduje jej wykona-nie zaś odpowiedź „N” jej unieważnienie.

mov zakres,n,s – przeniesienie linii z danego zakre-su w nowy, rozpoczynający się od numeru n i o kolejnych numerach n+s, n+2s, n+3s... Przy wykonywa-niu tej komendy kasowane są linie w pierwotnym zakresie. W przypad-

670 PLOT X+D+6,Y+L: DRAW -6,-L: DRAW -D,0:

PLOT X+D+G,Y+L

680 RETURN

690 LET Q=X

700 FOR U=P(T) TO P(T)+L

710 PLOT Q,U: DRAW D,0

720 LET Q=Q+.5

730 NEXT U: PLOT OVER 1;X+D,Y-1: RETURN

740 FOR T=40000 TO 40038

750 READ V: POKE T,V

760 LET SV=SV+V

770 NEXT T

780 IF SV<>3229 THEN PRINT FLASH 1;"BLAD W

LINI 800 LUB 805": STOP

790 RETURN

800 DATA 33,0,64,17,0,161,1,0,24,26,197,70,

168,119,193,19,35,11,62,0,184,32,242,18

5,32,239,201

805 DATA 33,0,64,17,0,161,1,0,24,237,176,2

01

810 INK 0

820 FOR T=1 TO IS

830 LET Q$=Q$+(N$(T))(1 TO 1)+CHR$ 32

840 LET W$=STR$ W(T)

850 FOR I=1 TO LEN W$

860 LET J$=W$(I TO I)

870 IF P(T)<8*(LEN W$+2) THEN PRINT AT 21-

INT (P(T)/8+2)-(LEN W$-I),2*T-2;J$

880 IF P(T)>-8*(LEN W$+2) THEN PRINT AT 21-

INT (P(T)/8)+I,2*T-2;J$

890 NEXT I

900 NEXT T

910 PRINT #0,Q$

920 POKE 40032,161: POKE 40035,24:

RANDOMIZE USR 40027

930 INK 7: CLS : RETURN

940 IF LEG=0 THEN POKE 40029,196: POKE

40032,64: POKE 40035,27: RANDOMIZE USR

40027: LET LEG=1: RETURN

950 IF LEG=1 THEN POKE 40029,227: POKE

40032,64: POKE 40035,27: RANDOMIZE USR

40027: LET LEG=0

960 RETURN

KŁOPOTY Z PAMIĘCIĄ

Page 12: Bajtek Redux 11/1986

12 BAJTEK 11/86http://www.reduksy.pl/

KLAN SPECTRUMku braku miejsca na linie w nowym zakresie komenda nie jest wykony-wana i pojawia się komunikat:

NO ROOM BETWEEN LINES

cop zakres,n,s – skopiownie linii z podanego za-kresu w zakres nowy, rozpoczyna-jący się od linii o numerze n i dal-szych numerach n+s, n+2s, n+3s...

Jeśli numery kopiowanych linii pokrywają się z numerami linii już istniejących to komenda nie jest wykonywana i wyświetlany jest komunikat:

OUT OF MEMORY

f zakres \t – szukanie podanego tekstu „t” w danym zakresie (fi nd), a po jego znalezieniu wyświetlenie nume-rów linii i instrukcji w liniach gdzie ten tekst występuje. Np. dla na-stępującego programu:

10 FOR a=1 TO 10 20 PRINT a,a*a 30 NEXT a 40 PRINT 50 FOR a = 1 TO 10:PRINT a, SQR a:NEXT a po rozkazie f 10-50 PRINT otrzymuje się wy-

druk: 20:1 40:1 50:2

fl zakre s \t – szukanie tekstu „t” w podanym zakresie i listing linii, w których ten tekst występuje (fi nd & listing). Dla programu podanego powyżej po komendzie fl 10-50 PRINT otrzymuje się:

20 PRINT a, a*a 40 PRINT 50 FOR a = 1 TO 10:PRINT a, SQR a:NEXT a

s zakre s tl \ t2 – zastąpienie w danym zakresie tekstu „t1” przez tekst „t2”

s zakre s \t – usunięcie zadanego tekstu „t” w podanym zakresie numerów linii.

syntax zakres – kontrola składni w danym zakresie i ewentualna jej korekta.

fr – wyświetlenie komunikatu o długości obszaru wolnej pamięci w postaci np.

32741 BYTES FREE

map – przedstawienie w postaci grafi cznej mapy pa-mięci z podaniem adresów wskazywanych przez zmienne systemowe PROG, VARS.....UDG.

ramto p zakres – zmiana wartości zmiennej RAMTOP bez kasowania zmiennych w programie.

UWAGA: Zmienna RAMTOP nie może po-dawać adresu mieszczącego się w obsza-rze Toolkita oraz obszarze stosu kalkulatora (STKEND + 200 bajtów).

squas h – usunięcie mniej ważnej części „Toolkita” (map, cl, al) o długości około 500 bajtów w celu ewentualnego umieszczenia w tym miejscu pro-gramu własnego.

UWAGA: jeśli po komendzie „squash” zosta-nie później podana komenda dotycząca nie-istniejącej już części „Toolkita” to pojawi się komunikat.

INVALID COMMAND

p on – skierowanie wyjścia generowanego przez „ To-olkit” na drukarkę.

p off – skierowanie wyjścia generowanego przez „To-olkit” na ekran.UWAGA: komunikaty o błędach (INVALID COM-MAND. NO ROOM BETWEEN LINES itp.) występu-ją tylko na ekranie.

lc zakres – zmiana wielkich liter (upper case) na małe (lower case) w podanym zakresie.

uc zakres – zmiana małych liter na wielkie w poda-nym zakresie.

xc zakres – zamiana wielkich liter na małe i małych na wielkie w podanym zakresie.

remkill zakres – usunięcie z podanego zakresu wszystkich instrukcji REM.

pack zakres – minimalizacja długości programu w po danym zakresie poprzez „upakowanie” do każdej linii możliwie dużej liczby instrukcji (do 127). Np. w przy-padku programu

10 GO TO 60 20 FOR a = 1 TO 1030 PRINT a40 NEXT a50 RETURN60 PRINT „hello”70 GO SUB 2080 STOPpo komendzie pack 10-80 otrzymamy następujący program:10 GO TO 6020 FOR a=1 TO 10:PRINT a:NEXT a: RETURN60 PRINT „hello” :GO SUB 20:STOP UWAGA: linia 60 w powyższym przykładzie nie może być „upakowana” do linii 20, gdyż nie można byłoby wykonać skoku wskazanego w linii 10.

compress zakres – usunięcie z zadanego zakresu wszystkich instrukcji REM, minimalizacja liczby linii w tym zakresie oraz zastąpienie wszystkich stałych nu-merycznych na wydruku zerami (binarna postać tych stałych nie zmienia się). Jest to największa mo żliwa kompresja programu, jego długość zmniejsza się wów-czas o około 20%.

r zakres,n,s – renumerac|a linii w podanym zakresie (n jest numerem pierwszej linii w danym zakresie po renumeracji, s jest skokiem numerów linii). Jeśli para-metry n i s nie zostaną podane to „Toolkit” przyjmuje n = 10 oraz s = 10.UWAGA: gdy nowe numery linii są większe od 9999 lub pokrywają się z numerami linii już istniejących to renumeracja nie jest wykonywana.

v – wyświetlenie nazw wszystkich zmiennych zdefi nio-wanych w programie wraz z ich wartościami.

v litera – wyświetlenie wartości zmiennych, których nazwy rozpoczynają się od podanej litery.

cls – oczyszczenie ekranu (podobnie jak komenda CLS w języku BASIC).

tr zakres,op,n:i – krokowe wykonanie programu w da-nym zakresie z opóźnieniem op/50 sekund pomiędzy instrukcjami. Śledzenie wykonywania programu odby-wa się poprzez skok do instrukcji „i”w linii „n”.

error n:i – przekazanie sterowania do instrukcji „i” w linii „n” w przypadku wystąpienia błędu.

error – wyłączenie śledzenia błędów.

break n:i – wyłączenie systemowego śledzenia przer wań i przekazanie sterowania do instrukcji „i” w linii „n” po naciśnięciu klawisza BREAK.

break – wyłączenie obsługi przerwań.

k n – wyświetlenie łańcucha podstawionego pod kla-wisz liczbowy n (n = 0 – 9).

k – wyświetlenie wszystkich łańcuchów podstawionych pod klawisze numeryczne.

k n\str – podstawienie pod klawisz liczbowy n łańcu-cha str.

UWAGA:1. Wywołanie łańcucha „str” następuje po równocze-

snym naciśnięciu klawisza liczbowego n i klawisza SPACE.

2. Pionowa linia (SYMBOL SHIFT S w trybie E) może być używana w łańcuchu jako ENTER.

3. Znak „\” (backlash) musi być pisany w łańcuchu po-dwójnie, jeśli ma być drukowany a nie traktowany przez „Toolkit” jako ogranicznik.

Konrad FedynaZygmunt Wereszczyński

Program ten jest adresowany do wszystkich, któ-rzy mniej lub bardziej na poważnie biorą zjawiska spo-strzegania pozazmysłowego. Pozwala na przetestowa-nie możliwości w tym zakresie. Nie należy tego brać na serio, gdyż nikt jeszcze nie stwierdził czy komputerowi można czytać w „myślach”.

Działanie tego programu jest bardzo proste. Ponie-waż starałem się, aby zawarte w nim komentarze były jak najpełniejsze, opiszę tutaj tylko ideę działania.

Na początku program generuje 25 liczb losowych. Umieszcza je w tablicy I (25) i przechodzi do następnej pętli. Tam pobiera od maksymalnie skupionego użyt-kownika odgadywane liczby. Jeżeli testowany odgad-nie, zwiększa się liczba jego punktów. Na koniec kom-puter podaje wynik w procentach opatrzony krótkim ko-mentarzem.

Użytkownik może wzbogacić program o efek-ty dźwiękowe, wykres, itd. Wydruk listingu pochodzi z komputera SINCLAIR ZX Spectrum ale z łatwością może być dostosowany do każdego innego komputera. Pomysł programu zaczerpnąłem z pisma „Atari User”.

Grzegorz Zatryb (lat 17)

10 BORDER 0: PAPER 0: INK 7: CLS20 DIM l(25): REM Tablica z liczbami

losowymi30 LET pkt=0: REM Licznik punktow40 REM Ta petla tworzy liczby losowe50 FOR f=1 TO 2560 LET l(f)=INT (RND*5)+170 NEXT f80 PRINT AT 11,10;"1 2 3 4 5": REM

Wydruk liczb odgadywanych90 REM Ta petla sprawdza zgodnosc liczb

pobranych w linii 110 z liczbami w tablicy 1(25)

100 FOR f=1 TO 25110 INPUT "Podaj liczbe :";s120 IF s=l(f) THEN LET pkt=pkt+1: REM

Dodawanie punktow130 NEXT f140 REM Wyniki150 LET proc=pkt*4: REM Zamiana punktow na

procenty160 CLS170 PRINT AT 2,1;"Uzyskales ";proc;" %."180 REM Te linie odsylaja program do

odpowiedniej linii w zaleznosci od ilosci procent

190 IF proc<50 THEN GO SUB 230200 IF proc>=50 AND proc<90 THEN GO SUB 250210 IF proc>=90 THEN GO SUB 270220 STOP : REM A teraz wyniki testu230 PRINT AT 3,1;"Niestety nie posiadasz

zdolno-";AT 4,1;"sci jasnowidzenia."240 RETURN250 PRINT AT 3,1;"Twoje zdolnosci

parapsycholo-";AT 4,1;"giczne przewyzszaja norme. Masz";AT 5,1;"zadatki na jasnowidza."

260 RETURN270 PRINT AT 3,1;"Twoje mozliwosci sa

imponuja-";AT 4,1;"ce. Jestes dobrym jasnowidzem."

280 RETURN

UŚMIECHNIJ SIĘ!

TESTNA JASNOWIDZENIE

Page 13: Bajtek Redux 11/1986

13BAJTEK 11/86http://www.reduksy.pl/

PRZED EKRANEM

Wymagają skupienia i dokładno-ści. Pochłaniają wiele czasu i nie-stety nie dają żadnej satysfakcji bo sa praca zupełnie bezmyślna. Zna-ją ten problem wszyscy ludzie, któ-rzy co miesiąc sumują długie ko-lumny liczb w planach, kosztory-sach czy sprawozdaniach.

Mógłby ich w tej ciężkiej (naprawdę, ciężkiej!) pracy zastąpić komputer, ale to nie takie proste. Każdy z nich liczy coś trochę innego, więc każdy potrzebowałby in-nego programu. Na dodatek schematy obliczeń czasa-mi się zmieniają, więc i programy trzeba by modyfi ko-wać. Koszty rosną — zastosowanie komputera staje się niezbyt opłacalne. I jeszcze aspekt psychologiczny. Lu-dzie nie bardzo rozumieją sposób pracy maszyny, trud-no im się przestawić, bo są od wielu lat przyzwyczajeni do swoich formularzy i tabelek.

A właśnie, tabelek. Może więc zrobić program, któ-ry postawi do dyspozycji użytkownika tabelkę. Musi to być tabelka uniwersalna, po to żeby mogła służyć wszystkim. Dlatego, gdy po raz pierwszy pojawia się na ekranie komputera ma tylko ponumerowane wier-sze i kolumny. Użytkownik sam będzie je nazywał zgodnie ze swoimi potrzebami i on określi, co znajdzie się w poszczególnych rubrykach, czy komórkach. Ko-mórka (ang. „cell”) to miejsce, przeznaczone na jedną daną — liczbę lub tekst, powstałe na przecięciu wier-sza i kolumny. W razie potrzeby skorzystania z danej wpisanej w komórkę bardzo tatwo się do niej odwołać — wystarczy podać numery wiersza i kolumny.

Chcielibyśmy bardzo, żeby nasza tabelka była „ro-zumna”. Na przykład, gdy wpiszemy do niej dane, to mo-głaby policzyć i wpisać do odpowiednich komórek sumy wierszy i kolumn. Albo obliczyć średnią arytmetyczną, czy też policzyć ile liczb jest wpisanych w wierszach mię-dzy siódmym a jedenastym. Pomysłowość ludzi przy stwarzaniu sobie najdziwniejszych potrzeb jest niezwy-kła. A przecież chcieliśmy mieć tabelkę dobrą dla wszyst-kich. Nie na więc innego wyjścia, każdy będzie musiał sam ustalać co ma obliczać jego tabelka. A jak mu się zmienią potrzeby, to sobie sam zmodyfi kuje tabelce.

Jak to rozwiązać od strony technicznej (pamiętajny, że nie żądamy od ludzi umiejętności programo wania)?

Otóż, do komórki niekoniecznie trzeba wpisywać licz-bę, czy tekst. Zamiast tego można podać wzór (wyraże-nie arytmetyczne) na obliczenie wartości, która ma się w tej komórce znaleźć. Komputer ma wykonać oblicze-nia i sam wpisać ich wynik. A wzór zapamiętać na póź-niej, bo jeśli tylko zmienią się występujące we wzorze dane, to musi obliczenie wykonać ponownie i uaktual-nić zawartość komórki. Teraz wystarczy tylko dodać, że jako dane we wzorze mogą wystąpić wartości innych ko-mórek, i już jesteśmy w domu. Możemy w naszej tabel-ce przewidzieć takie obliczenia jakie nam się podoba.

Oczywiście chcemy żeby pisanie wzorów było moż-liwie najwygodniejsze. Warunek ten będzie spełnio-ny, gdy pozwolimy użytkownikowi umieszczać we wzo-rach wszystko co tylko może mu się przydać, a więc licz-by, typowe funkcje matematyczne (sinus, cosinus, loga-rytm, pierwiastki itd.), zawartość pojedynczych komórek i całych grup komórek. Np. ważna jest możliwość ob-liczenia sumy lub iloczynu wszystkich elementów wy-branej kolumny lub wiersza. Można też kazać policzyć ile wartości jest wpisanych w zadanym fragmencie ta-beli. Typowe funkcje to MAX i MIN — znajdowanie od-powiednio największego i najmniejszego elementu oraz znajdowanie średniej arytmetycznej dla grupy liczb.

Wspólną cechą ostatnio wymienionych działań jest to, że wszystkie operują na grupie komórek. Określić tę grupę można na wiele sposobów — im więcej jest możli-wości, tym łatwiej użytkownikowi znaleźć coś dla siebie. Podstawowe to, wspomniana już pojedyńcza kolumna lub wiersz. Dalej, wszystkie komórki z kilku kolumn lub kilku wierszy. I wreszcie, wszystkie dane z prostokąta powstałego na przecięciu grupy kolumn z grupą wierszy.

W tej chwili potrafi my zbudować tabelę pasującą ide-alnie do naszych potrzeb. Ale gdy już będzie gotowa, to trzeba wprowadzić do niej dane. Nic prostszego, kur-sor wskazuje na miejsce, w którym program umieści to, co wpiszemy. Używając klawiszy sterujących kursorem możemy go łatwo przesunąć do dowolnej innej komór-ki. Jako dodatkowe udogodnienie możemy raz wpisane wartości kopiować do innych pozycji tabelki. Przypomnę

tu raz jeszcze, że jeśli wstawimy nową wartość w miej-scu, które jest użyte we wzorze na obliczanie zawarto-ści innej komórki, to program natychmiast to zauważa, oblicza nową wartość i wpisuje na miejsce starej. Dzię-ki temu, jeśli np. określiliśmy ostatnią komórkę w kolum-nie jako sumę pozostałych wartości, to zmieniając liczby wpisane w tej kolumnie nie musimy już więcej martwić się o sumę — program sam będzie ją na bieżąco aktu-alizował. Przy okazji można wskazać jeszcze jedno za-stosowanie „elektronicznych tabelek”: planowanie, czy-li co będzie jeśli...? Przygotowujemy wzory potrzebnych obliczeń, wprowadzamy komplet danych, a potem mo-żemy zmieniać pojedyncze wielkości i obserwować jak zmieniają się wyniki.

Ale wróćmy do wprowadzania danych. Świat jest duży a ekran mały. Jak, w czytelny sposób, zmieścić na małym ekranie wielki fragment? To się niestety nie da zrobić. Ale można inaczej. Cały formularz (inna nazwa naszej tabelki) siedzi w pamięci operacyjnej, a ekran traktujemy jako okienko, przez które można patrzeć na jego fragment. Oczywiście to „okienko” można prze-suwać po całym formularzu. Np. jeśli kursor znajdu-je się w skrajnie prawej kolumnie ekranu i spróbujemy go przesunąć dalej w prawo, to, aby przejść do następ-nej kolumny, Kursor „popchnie” w prawo cały ekran — pierwsza z lewej kolumna zniknie, a za to pojawi się na ekranie niewidoczna dotychczas kolumna z prawej stro-ny. Oczywiście to samo można zrobić w kierunku gó-ra-dół. Można też, przy pomocy specjalnych komend „skakać” ekranem dalej niż o jedną kolumnę czy wiersz.

Jak zapewne zauważyli stali Czytelnicy, „Przed ekra-nem” nie publikuje pozycji fantastyczno-nau-kowych. Z tej obserwacji łatwo wysnuć słuszny wniosek, że pro-gramy do tworzenia formularzy (ang. „spreadscheet”) istnieją na prawdę a nie w sferze marzeń czy planów. Przykłady — proszę bardzo. Oto nazwy programów, z którymi zetknąłem się na naszym rynku: „Multiplan” na IBM PC, „EasyCalc” i „EasyCalc Result” na Com-modore C-64, „VU-Calc” na Spectrum.

Andrzej Pilaszek

PRZEKLĘTE RACHUNKI

Page 14: Bajtek Redux 11/1986

14 BAJTEK 11/86http://www.reduksy.pl/

KLAN ATARIJeżeli wykażesz odrobinę

cierpliwości to już za godzinę będziesz posiadaczem progra-mu kopiujacego, który wzbo-gaci bibliotekę_programów_Twojego ATARI 800 XL.

Oto podstawowe własności programu „46K TAPE COPIER”:— kopiuje wszystkie programy taśmowe

o standardowej budowie tzn. składają-ce się z bloków rozpoczynających się 20 sek. sygnałem synchronizującym, po nim z serii rekordów zawierających 128 bajtów danych. Program akceptu-je zapisy z długimi lub krótkimi prze-rwami między rekordami, wyprowadza jedynie przerwy krótkie.Blok rekordów powinien kończyć się rekordem „eof” (end of fi le) składają-cym się ze 128 zer,

— program jest bardzo krótki — ma dłu-gość 600 bajtów. Czas ładowania do pamięci wynosi 30 sek. Program ko-piujący należy ładować podobnie jak większość gier „przez” start/option,

— program potrafi skopiować blok długo-ści ponad 46K bajtów dokładnie 369 rekordów 128 bajtowych. Przelicza-jąc to na czas ładowania otrzymujemy blok ładujący się blisko 16 minut przy standardowej prędkości transmisji 600 bitów/ sek.,

— odczyt lub zapis kopiowanych progra-mów można prowadzić przy wyłączo-nym głośniku. Program posiada dia-gnostykę błędów — informuje o nie-poprawnym odczycie taśmy źródłowej oraz o poprawnym zakończeniu od-czytu lub zapisu,

— pozwala odsłuchać taśmę i dokład-nie ustawić początek programu, wgrać przerwę międzyprogramo-wą żąda-nej długości. Sygnalizuje także zbliża-nie się do granicy pojemności wolnej pamięci operacyjnej — wyświetlając ostatnie jeszcze mieszczące się rekor-dy w górnej części ekranu. Wciśnięcie klawisza „break” w czasie zapisu sy-gnału synchronizującego powoduje rozpoczęcie zapisu danych oraz elimi-nacje końcowego rekordu „end to fi le”,

— program odwołuje się do procedur sys-temu operacyjnego za pośrednictwem tablicy skoków: tak więc powinien dać się uruchomić na innych mikrokompu-terach: ATARI 800 oraz 130 XE.

Program został pierwotnie napisany w as-semblerze 6502 i skompilowany kompi-latorem LADS. W celu udostępnienia go również tym, którzy nie dysponują assem-blerem został przetłumaczony na ciąg in-strukcji DATA i jest dostępny w BASIC-u.

Zamieszczony obok program skła-da się z trzech części. Część pierwsza obejmująca instrukcje o etykietach 10-65 jest ładowaczem programu kopiujące-go i procedury zapisu na taśmie. Instruk-cje wprowadzają do pamięci kolejne licz-by z bloku data, sprawdzają sumy kon-

trolne i w przypadku błędu wskazują źle przepisaną instrukcję. Ten zabieg po-zwala sprawnie przepisać cały program z dość dużym prawdopodobieństwem, że nie popełni się błędu

Druga i trzecia część programu obej-muje instrukcje DATA. Wiersze 101-110 zawierają przetłumaczoną na ciąg liczb procedurę zapisu programu bootstrapo-wego (ładowanego przez operację pulpi-tową „start/option”) na taśmę. Procedura posłuży do wyskładowania programu ko-piującego. Wiersze 111 — do końca za-wierają program kopiujący. Stawiającym pierwsze kroki w programowaniu w as-semblerze proponuję przetłumaczenie tych wierszy na assembler i analizę tego programu. Zwracam uwagę na to, że 6 początkowych bajtów programu bootstra-powego ma charakter organizacyjny i nie zawiera rozkazów. Pierwszy wykonywa-ny rozkaz rozpoczyna się w 7 bajcie.

A teraz lista czynności, które należy wykonać aby otrzymać program kopiu-jący:1. przepisz uważnie zamieszczony obok

program,2. na wszelki wypadek zapisz go na ta-

śmie,3. przygotuj kasetę przeznaczoną na pro-

gram kopiujący,4. uruchom przepisany program (RUN),5. jeżeli przepisałeś poprawnie, to po ok.

15 sekundach usłyszysz podwójny sy-gnał — włącz zapis,

6. jeżeli popełniłeś błąd w czasie przepi-sywania — program poinformuje Cię o tym. Popraw błędnie przepisaną in-strukcję i przejdź do p.4,

7. program, który otrzymałeś załaduj do pamięci podobnie jak ładuje się więk-szość gier i programów użytkowych, naciskając start/option i włączając komputer.I wreszcie na koniec krótka instrukcja

obsługi programu:— wczytywanie pliku do kopiowania —

naciśnij „0”. Prawidłowo przeprowa-dzone wczytanie program sygnalizuje komunikatem „KONIEC”; błąd w cza-sie odczytu — komunikatem ,BŁAD”,

— zapis pliku — naciśnij „Z”. Taśma wyj-ściowa musi być wcześniej przygoto-wana, a magnetofon ustawiony na za-pis. Zakończenie operacji program sy-gnalizuje ko-munikatem „KONIEC”. Istnieje możliwość skrócenia długości sygnału synchronizującego z jedno-czesną eliminacją końcowego rekordu „eof” — w czasie nagrywania sygna-łu synchronizującego naciśnij „break”,

— nagranie przerwy lub odsłuch. Naci-śnięcie klawisza „P” pozwala włączyć silnik magnetofonu na okres 10 se-kund. Odliczanie sekund można obser-wować na ekranie monitora. Przesuw taśmy można zatrzymać w dowolnym momencie naciskaiąc klawisz spacji.

Dariusz Adamowski

10 REM LADOWACZ PROGRAMU KOPIUJACEGO15 N=100:GOSUB 5520 FOR I=32768 TO 3344725 READ A:POKE I,A:CS=CS+A:L=L+130 IF L=9 THEN GOSUB 4535 NEXT I40 X=USR(32768):END 45 READ CSD50 IF CSD<>CS THEN GOSUB 6055 CS=0:L=1:N=N+1:RETURN 60 ? "BLAD W WIERSZU ";N;" LUB ";N-165 LIST N-1,N:STOP 99 REM PROGRAM KOPIUJACY100 REM DARIUSZ ADAMOSKI 07,1986101 DATA 162,16,169,3,157,66,3,169,745102 DATA 8,157,74,3,169,128,157,75,771103 DATA 3,169,72,157,68,3,169,128,769104 DATA 157,69,3,32,86,228,48,36,659105 DATA 169,11,157,66,3,169,80,157,812106 DATA 68,3,169,128,157,69,3,169,766107 DATA 128,157,72,3,169,2,157,73,761108 DATA 3,32,86,228,48,8,169,12,586109 DATA 157,66,3,32,86,228,104,96,772110 DATA 67,58,158,0,0,0,0,0,283111 DATA 0,5,168,189,174,189,169,60,954112 DATA 141,2,211,169,128,141,198,2,992113 DATA 141,200,2,169,14,141,197,2,866114 DATA 141,196,2,169,51,141,48,2,750115 DATA 169,191,141,49,2,173,252,2,979116 DATA 201,8,240,11,201,23,240,37,961117 DATA 201,10,240,71,24,144,238,32,960118 DATA 20,191,169,4,32,44,190,162,812119 DATA 0,189,226,191,157,169,191,232,1355120 DATA 224,7,208,245,32,107,190,32,1045121 DATA 73,190,76,205,189,32,20,191,976122 DATA 169,8,32,44,190,162,0,189,794123 DATA 233,191,157,169,191,232,224,7,1404124 DATA 208,245,32,143,190,32,96,190,1136125 DATA 172,253,191,48,176,32,32,191,1095126 DATA 76,205,189,32,20,191,32,183,928127 DATA 190,76,205,189,162,32,157,74,1085128 DATA 3,169,3,157,66,3,169,128,698129 DATA 157,75,3,169,223,157,68,3,855130 DATA 169,191,157,69,3,32,86,228,935131 DATA 96,162,32,169,12,157,66,3,697132 DATA 32,86,228,162,32,189,72,3,804133 DATA 133,212,189,73,3,133,213,96,1052134 DATA 162,32,169,12,157,66,3,32,633135 DATA 86,228,96,169,7,162,32,157,937136 DATA 66,3,169,128,157,68,3,169,763137 DATA 4,157,69,3,169,255,141,72,870138 DATA 3,157,73,3,32,86,228,192,774139 DATA 136,208,40,32,32,191,96,169,904140 DATA 11,162,32,157,66,3,169,128,728141 DATA 157,68,3,169,4,157,69,3,630142 DATA 165,212,157,72,3,165,213,157,1144143 DATA 73,3,32,86,228,140,253,191,1006144 DATA 48,1,96,32,1,191,96,169,634145 DATA 52,141,2,211,169,15,133,140,863146 DATA 169,10,133,139,230,140,165,140,1126147 DATA 141,172,191,173,252,2,201,33,1165148 DATA 240,37,169,6,141,0,191,162,946149 DATA 137,160,255,136,192,0,208,251,1339150 DATA 202,224,0,208,244,206,0,191,1275151 DATA 169,0,205,0,191,208,232,198,1203152 DATA 139,169,0,197,139,208,205,169,1226153 DATA 60,141,2,211,32,32,191,96,765154 DATA 0,162,0,189,240,191,157,169,1108155 DATA 191,232,224,7,208,245,169,255,1531156 DATA 141,252,2,96,162,0,138,157,948157 DATA 169,191,232,224,7,208,248,96,1375158 DATA 162,0,189,246,191,157,169,191,1305159 DATA 232,224,7,208,245,169,255,141,1481160 DATA 252,2,96,112,112,112,66,40,792161 DATA 189,2,2,112,70,83,191,112,761162 DATA 112,112,6,112,112,112,112,112,790163 DATA 112,2,112,6,112,112,2,65,523164 DATA 51,191,1,0,0,0,0,97,340165 DATA 116,97,114,105,0,24,16,16,488166 DATA 0,120,108,0,0,0,0,0,228167 DATA 0,20,22,107,0,0,116,97,362168 DATA 112,101,0,99,111,112,105,101,741169 DATA 114,0,0,0,0,0,0,0,114170 DATA 0,175,100,99,122,121,116,0,733171 DATA 0,0,0,0,186,97,112,105,500172 DATA 115,0,0,0,0,0,176,114,405173 DATA 122,101,114,119,97,0,0,0,553174 DATA 0,0,0,0,0,0,0,0,0175 DATA 0,0,0,0,0,0,0,0,0176 DATA 0,0,0,0,0,0,0,36,36177 DATA 97,114,105,117,115,122,0,33,703178 DATA 100,97,109,111,119,115,107,105,863179 DATA 0,100,108,97,0,99,122,121,647180 DATA 116,101,108,110,105,107,111,119,877181 DATA 0,34,33,42,52,43,33,67,304182 DATA 58,155,111,100,99,122,121,116,882183 DATA 0,0,122,97,112,105,115,0,551184 DATA 0,98,108,97,100,0,0,107,510185 DATA 111,110,105,101,99,0,0,0,526TA

PE C

OPI

ER

TAP

E CO

PIER

T

APE

COPI

ER

Page 15: Bajtek Redux 11/1986

15BAJTEK 11/86http://www.reduksy.pl/

KLAN ATARIAtari posiada duże możli-

wości dźwiękowe. Pozwa-lają one wykorzystać ten mi-krokomputer jako instrument muzyczny, a nawet jako synte-zator mowy ludzkiej (np. pro-gram S.A.M.). Wiadomo, że do-chodzenie do perfekcji w grze na jakimś instrumencie wyma-ga długiego czasu. Także opa-nowanie możliwości muzycz-nych jakie daie Atari wy-ma-ga czasu i znajomości kompu-tera. Spróbujmy zapoznać się z niektórymi możliwościami, jakie daje Atari.

W BASIC-u mamy do dyspozycji in-strukcję SOUND. Posiada ona cztery parametry i jej działanie trwa tak długo, aż nie zostanie wykonana następna in-strukcja SOUND (dla tego samego ge-neratora), END, RUN, lub NEW. Postać tej instrukcji jest następująca:

SOUND c, p, d, vgdzie:c — numer generatora (od 0 do 3) p — okres generowanego dźwięku(od 0 do 255)d — określa brzmienie (liczby parzy-

ste od 0 do 14)v — jest głośnością (od 0 do 15)

Atari ma cztery niezależne generatory dźwięku. Można jednocześnie urucho-mić wszystkie generatory, lub tylko kil-ka z nich.

Okres generowanego dźwięku okre-śla jego wysokość. Jak wiemy okres ten jest odwrotnie proporcjonalny od czę-stotliwości. Warto znać dokładną zależ-ność pomiędzy tymi dwoma wartościa-mi. Jest ona następująca:

częstotliwość=31960/(okres+1) [Hz]

Okazuje się jednak, że możliwo-ści dźwiękowe Atari są znacznie więk-sze, niż dawane przez instrukcję SO-UND w języku BASIC. Aby je wykorzy-stać musimy poznać bliżej sposób ge-nerowania dźwięku w Atari.

Generowaniem dźwięku zajmuje się specjalizowany układ scalony nazwa-ny POKEY. Posiada on własne rejestry zawierające informacje o wytwarzanych dźwiękach. Wyróżnić możemy trzy ob-szary sterowania dźwiękiem. Nazwijmy je tak, jak stosuje to w swoich publika-cjach sama fi rma Atari: AUDF, AUDC i AUDCTL

AUDF 1 do 4. Zlokalizowane są w ko-mórkach o adresach 53760, 53762, 53764, 53766. Określają one wysokość generowanego tonu. Na przykład instruk-cja POKE 53762,64 odpowiada instruk-cji SOUND 1,64,x,x (wartość x jest tutaj nieistotna).

AUDC 1 do 4. Zlokalizowane w ko-mórkach o adresach 53761, 53763, 53765, 53767. Ich znaczenie jest bar-dziej skomplikowane niż AUDF. Przyj-rzyjmy się im dokładniej. Cztery najmniej znaczące bity każdej z tych komórek ste-rują głośnością odpowiedniego genera-tora. Cztery bity czyli w systemie dzie-siętnym liczby z zakresu od 0 do 15, jest to tyle, ile stopni głośności można zapi-sać w instrukcji SOUND. Piąty bit jest to tzw. bit dwustanowej regulacji głośności. Pozostałe trzy bity określają zakłócenia. Jest to szerokie pole do eksperymento-wania. Na trzech bitach można zakodo-wać liczby dziesiętne od 0 do 7. Jak pa-miętamy w instrukcji SOUND parame-trem określającym zniekształcenia może być liczba parzysta z zakresu od 0 do 14. Takich liczb jest właśnie osiem. Jeżeli wszystkie bity posiadają wartość jedynki logicznej to otrzymujemy czysty dźwięk. Odpowiada to umieszczeniu w instrukcji SOUND parametru sterującego brzmie-niem równego 14.

Zilustrujmy to przykładem: Instruk-cji SOUND 1,64,10,10 odpowiada POKE 53762,64: POKE 64363,234. AUDCTL jest to komórka o adresie 53768. Zawar-tość tej komórki zmieniać możemy tylko instrukcją POKE. Wykonanie instrukcji SOUND nie powoduje zmiany zawarto-ści tej komórki. Wykorzystując odpowied-nio tę komórkę możemy uzyskiwać efek-ty niemożliwe do osiągnięcia tylko przez instrukcję SOUND. Znaczenie poszcze-gólnych bitów AUDCTL jest następujące:

BIT 0 przełącza główny zegar bazo-wy z 64 kHz na 15 kHz

BIT 1 włącza fi ltr górnoprzepustowy dla kanału 2 sterowany kanałem 1

BIT 2 włącza fi ltr górnoprzepustowy dla kanału 1 sterowany kanałem 3

BIT 3 powoduje połączenie kana-łów 3 i 4 pozwalając używać 16-bitowej zmiennej sterującej

BIT 4 powoduje połączenie kana-łów 1 i 2 pozwalając używać 16-bitowej zmiennej sterującej

BIT 5 powoduje przełączenie zega-rów kanału 3 na 1.79 MHz

BIT 6 powoduje przełączenie zega-rów kanału 1 na 1.79 MHz

BIT 7 przełącza licznik „poly” z 17 na9 bitówZnaczenie tych bitów wymaga do-

kładniejszego wyjaśnienia.

BIT 0. Nie zagłębiając się teraz w szczegóły można powiedzieć, że im wyższa jest częstotliwość zegara, tym wyższe dźwięki można uzyskać. Zegar bazowy ma normalnie częstotliwość 64 kHz. Przełączając go na częstotliwość 15 kHz można generować dźwięk o niż-szej częstotliwości.

BIT 1 i 2. Filtry generatora dźwię-ku Atari nie są fi ltrami analogowymi. Ich działanie polega na zmianie stop-nia wypełnienia impulsów, dzięki cze-mu generowanych jest więcej harmo-nicznych o wysokich częstotliwościach. W uproszczony sposób można powie-dzieć, że taki fi ltr nie przepuszcza czę-stotliwości mniejszych, niż częstotliwość kanału sterującego.

BIT 3 i 4. Konieczność łączenia dwóch generatorów występuje gdy chcemy uzyskać szerszy przedział ge-nerowanych dźwięków, lub gdy koniecz-ne jest uzyskanie płynnej zmiany czę-stotliwości w zakresie częstotliwości wy-sokich. Łącząc dwa kanały razem uzy-skujemy 16-bitową zmienną sterującą dzięki czemu zmniejszamy najmniejszy skok częstotliwości z 1/256 (jeden bajt) do 1/65536 (dwa bajty), ilustruje to po-niższy przykład:

10 SOUND 0,0,0,020 FOR X=55 TO 0 STEP -130 SOUND 0,X,10,1040 FOR F=1 T0 55:NEXT F50 NEXT X60 SOUND 0,0,0,0

Uruchamiając ten program usłyszy-my wyraźnie, że przy wysokich dźwię-kach częstotliwość wzrasta skokowo. Teraz napiszmy program wykorzystują-cy AUDCTL dla połączenia dwóch kana-łów razem i uzyskania płynnej zmiany.

10 SOUND 0,0,0,0 15 POKE 53768,80

20 POKE 53761,16025 POKE 53763,234 30 FOR X=0 TO 255 35 POKE 53762,X 40 FOR Z=0 TO 25545 POKE 53760,Z 50 NEXT Z 55 NEXT X60 SOUND 0,0,0,0

W powyższym programie wykorzysta-liśmy większość zdobytych dotąd wiado-mości. Poszczególne jego linie realizują następujące zadania:

Linia 10 inicjuje POKEY.Linia 15 ustawia w AUDCTL bit 2, 4 i 6.Linia 20 nadaje wartość AUDC 1 i wy-

łącza pierwszy generator dźwiękowy.Linia 25 ustawia AUDC 2, włącza ge-

nerator drugi, włącza czyste tony oraz ustawia głośność 10.

Linie 30 do 55 dwie pętle FOR...NEXT służą do nadawania wartości zmiennym AUDF 1 i AUDF 2. Wartością zmiennej sterującej regulujemy wartość częstotliwo-ści zgrubnie, natomiast pierwszym gene-ratorem dokładnie.

Powróćmy teraz do opisu pozostałych bitów AUDCTL.

BITY 5 i 6. Działanie ich jest zbliżone do działania bitu O z tą różnicą, że zwięk-szają one częstotliwość generowanego tonu. Bit 5 zwiększa częstotliwość zega-ra do 1.79 MHz w kanale 3, natomiast bit 6 w kanale 1. Wykonanie poniższych in-strukcji zobrazuje działanie tycn bitów.

SOUND 0,255,10,10POKE 53758,64BIT 7. Ustawia pojemność licznika

używanego przez generator szumów. Im większa pojemność tego licznika, tym czę-ściej powtarzane są zakłócenia generowa-nego dźwięku. Spróbujmy wykonać nastę-pujące instrukcje:

SOUND 0,90,8,10POKE 53769,128

Mariusz J. Giergiel

ATARIŚWIAT DŹWIĘKÓW

cz. I

Page 16: Bajtek Redux 11/1986
Page 17: Bajtek Redux 11/1986
Page 18: Bajtek Redux 11/1986

18 BAJTEK 11/86http://www.reduksy.pl/

CO JEST GRANE

ENIGMA — bojowa or-g a n i z a c j a

w służbie Imperatora. Należy do niej elita niezwyciężonych legionów Im-perium. Cechuje ich ogromna wa-leczność. Walczą z determinacją i poświęceniem, za Imperatora od-dadzą życie. Najnowsze uzbroje-nie i nowoczesne wyszkolenie tech-niczne grupy podnosi ich walory bojowe. Członkowie organizacji po przeszkoleniu zostali posłani do kryjówki gen. Zoffa, imperialnego zdrajcy i wyjątkowego łajdaka, z mi-sją SHADOW FIRE. Po pierwszej bi-twie stoczonej z Zoffem, Enigmę opuścili Torik i Manto, „leczą” swe rany na planecie Styx. Pozosta-ła czwórka została wysłana na dal-sze poszukiwania. Zoffa dopadli na planecie Hetera w jego tajnej bazie i tam rozstrzygną się losy zdrajcy.

OSOBY:

ZARK MANTER

----------------POCHODZENIE: człowiek

WIEK: 39 lat (wiek fi zyczny)

STANOWISKO: dowódca grupy

DANE OSOBOWE: Rekrut legionów Im-

peratora. Podczas bitew odniósł

wiele ran, jest poczęści cyborgi-

zowany, sztuczne prawe przed-

ramię

UWAGI OGÓLNE: Duża wiedza o różnych

typach broni, ekspert od walki

grupowej. Tłumacz.

SEVERINAMARIS

----------------POCHODZENIE: człowiek (kobieta)

WIEK: 23 lata (wiek fi zyczny)

STANOWISKO: specjalista-technik

DANE OSOBOWE: Uparta. Rekrut z celi

śmierci na Kerolth. Dzięk reko-

mendacji TOMKA przyjęta do

ENIGMY. Groźna, niezależ na, lo-

jalna tylko wobec sie bie, rutyno-

wany technik.

UWAG I OGÓLNE: Doskonały strze lec i

ślusarz. Nie lubi białe go koloru.

SYYLK----------------

POCHODZENIE: insektoid

WIEK: brak danych

STANOWISKO: z-ca dowódcy grupy.

DANE OSOBOWE: Rekrut legionów.

Bezlitosny i odważny. Patolo-

giczna nienawiść do Zoffa za

podbój jego ojczyzny. Małomów-

ny, samotnik.

UWAG I OGÓLNE: Dobry żołnierz. Nie

rozstaje się nigdy z bronię. Bar-

dzo inteligentny. Gra w szachy.

Silny psychicznie.

MAUL----------------POCHODZENIE: robot bojowy

WIEK: data opuszczenia taśmy

prod. 30.07.2112.

STANOWISKO: robot bojowo-

obronny

DANE OSOBOWE: —

UWAGI OGÓLNE: Ciężar 185 kg,

wys. 126 cm, napęd anty-

grawitacyjny. Porusza się

dosyć wolno, lecz posiada

laser dużej mocy przydat-

ny w walce.

Cel misji w bazie Zoffa — zabić generała Zoffa i zniszczyć pamięć komputera bazy.

Spis poszczególnych rzeczy:KEYCA RD — (karta-klucz) karta perforowana z zapisa-

nym na niej (cyfrowo) kodem otwierającym kon-kretne drzwi. Każdy kolor karty do innych drzwi.

ZOFFC ARD — (karta Zoffa) karta z kodem znalezio-na przy zwłokach Zoffa. Otwiera drzwi oznaczo-ne END.

RYBA — symbolizuje dawkę energii dla potrzebują-cej postaci. Energia, po użyciu ryby, wzrasta na max.

NARZĘ DZIA — zbiór przyrządów w obsłudze znanych tylko!!! Severinie. Ona może nimi otworzyć każ-de (prócz tych oznaczonych przez END) drzwi bez większego trudu. Uwaga! nikt nie może jej przy tym przeszkadzać.

GRANA T — sposób użycia i przeznaczenie znane. LASER — broń dużej mocy, „mocniejszy” od PARALI-

ZERA. PARAL IZER — broń średniej mocy, dobry na małe od-

ległości, nietrwały.

W bazie Zoffa nigdy nie ma zgody wśród podwładnych a część z nich tzn. insektoidzi przeszli na stronę IM-PERIUM, trzeba to wykorzystać. Insektoidzi wyglądem przypominają SYYLKA lecz mają ciemniejszą powłokę. Tylko SYYLK może przekonać Insektoidów do podję-cia decyzji.

Najkrótsza droga do celu:1. Podziel znalezione przedmioty pomiędzy członków

grupy.2. Poszukaj karty-klucza idąc w dół a potem w górę

a następnie wróć na start.3. Wyślij (koniecznie SYYLKA) na lewo od miejsca star-

tu potem w górę i jeszcze raz w górę, otwórz drzwi kartą a potem trzy razy w lewo aż do zbrojowni In-sektoidów.

4. Po drodze rozglądaj się za dowolnym z Insektoidów który powie ci: „Rozmawiałem z Królową. Jest wier-na Imperium i jego Władcy” — po tej rozmowie ża-den z Insektoidów już Cię nie zaatakuje. Insektoidzi pomogą Ci w akcji.

5. Sprowadź całą grupę do zbrojowni Insektoidów. Za-łóż tam swoją „bazę wypadową”.

6. Po dozbrojeniu poprowadź całą grupę do pomiesz-czenia, gdzie znajdziesz narzędzia dla Severiny tj. w lewo, w górę, w prawo, w prawo, w górę. w górę, w prawo, w dół, w górę. Narzędzia od razu daj Se-verinie.

7. Teraz gdy masz już większość potrzebnych przed-miotów musisz odnaleźć gen. Zoffa. W tym celu wy-ślij, uzbrojonych w granaty, SYYLKA lub SEVERI-NE, gdyż oni są najlepszymi strzelcami. Gen. Zoffa można zastrzelić z broni ręcznej lecz wymaga to cza-su i dobrego ustawienia się, ale można też wrzucić granat do pomieszczenia, gdzie aktualnie jest: Zoff, po jego detonacji przeszukaj tamten pokój i zabierz ZOFFCARD (kartę Zoffa).

8. Wróć do reszty tj. do pomieszczenia, gdzie były na-rzędzia i przejdź do zbrojowni Repliansów tzn. trzy razy w prawo, dwa w górę, w prawo, w górę, dwa razy w dół, w prawo i otwórz narzędziami lub inną znalezioną kartą drzwi oznaczone na mapie iako END i zejdź na dół do zbrojowni. Dobrze jest za-mknąć za sobą drzwi.

9. Po użyciu ZOFFCARD, karty Zoffa, wyślij całą gru-pę w dół przez drzwi oznaczone jako END by zna-leźć się w sali komputerów i zakończyć misję pełnym sukcesem.

Czynności, które może wykonać każdy członek grupy: PICK UP — podnoszenie przedmiotów... nastaw krzyż

na obrazek potem ENTER (FIRE) i weź przedmiot,

DROP — upuszczenie przedmiotu... jak PICK UP, ACTIVAT E — uruchomienie (użycie) przedmiotu...

nastaw krzyżyk na obrazek potem ENTER (FIRE) potem wskaż konkretny przedmiot,

WEAPON — broń... służy do zamiany broni lub akty-wacji tejże,

OOPS — kasowanie ostatniej wydanej komendy ENIG-MA FORCE.

autor: DENTON DESIGNS producent: BEYOND Challenging Software komputer: ZX-Spectrum 48k, Commodore C64/128 ponadto: nagroda za muzykę wersji CBM 64 (Bril-lant Sound-Track” (ML)

ENIGMA

FORCE

Page 19: Bajtek Redux 11/1986

19BAJTEK 11/86http://www.reduksy.pl/

CO JEST GRANE

10 000 marek i 60 dni — czy to wystarczy?Niewielu szczęśliwcom udaje się zrealizować marzenia o po-

dróżach szlakami Marco Polo, Magellana czy Kolumba. Ktoś zazdrości stawy bohaterom powieści Julesa Verne „W osiem-dziesiąt dni dookoła świata”, a nie stać go na realizację ich po-mysłu. Inny zmusza swoje dziecko, aby pokazało na mapie, gdzie leży Pernambuco, a latorośl twardo wskazuje na Rzym.

Szkoła nie zapewnia dobrej znajomości geografi i świata. Po-mocą dla tych, którzy chcieliby orientować się i uchodzić za by-wałych w różnych krajach może się okazać program fi rmy DATA MEDIA ATARI ELEKTRONIK pod nazwą GLOBTROTER.

Gra rozpoczyna się zawarciem niezbyt fortunnego zakładu. Na przyjęciu w obecności wielu osób świadomie stwierdzili-śmy, że odwiedzimy co najmniej dziewięć wybranych miast na świecie w czasie krótszym niż 60 dni, dysponując zaledwie kwotą 10 000 marek.

Klamka zapadła, musimy spróbować aby zachować twarz. Podczas podróży będziemy narażeni na różne niedogodności,

z jakimi spotykają się turyści. Podstawowym naszym kłopotem może okazać się brak pieniędzy. Ale i na to jest rada. Trzeba będzie je po prostu wygrać. W Zurychu spróbujemy na gieł-dzie, w Los Angeles w automatach do gry, w Londynie w bin-go, w Fremantle na wyścigach konnych, w Hanoi pobawimy się łamigłówką, w Nicei ruletką, a w Miami zagramy w golfa.

Drogę naszej wędrówki wybieramy według własnego uz na-nia. Przed nami cały świat. Zabawę rozpoczynamy i kończy-my w Hamburgu.

Podczas podróży możemy korzystać z samolotu, pocią gu, statku, oraz wynajętego samochodu pamiętając o tym, ze im szybszy środek transportu, tym drożej za niego płacimy. W za-bawie mogą uczestniczyć cztery osoby.

GLOBTROTER bywa złośliwy. Od czasu do czasu oznajmi, że właśnie wydaliśmy kilkadziesiąt marek na Małe Conieco w przy-drożnym barze lub kupiliśmy nowe ubranie za parokroć więcej. Zdarzy się, że nas okradną — konsulat zazwyczaj refunduje od 60 do 90% naszych zasobów fi nansowych, lecz gdy tego nie uczyni — żegnajcie marzenia o dalszej podroży. Czasami jed-nak lokalna prasa zapłaci nam kilkaset marek za wywiad z obie-żyświatem albo kupiony na loterii los okaże się szczęśliwy.

Jak każda gra komputerowa, tak i GLOBTROTER nie jest wolny od niekonsekwencji, a nawet błędów. Do pierwszych za-liczyć trzeba takie paradoksy, jak podróż z Paryża do Londynu najkrótsza trasa prowadzi przez Frankfurt i Amsterdam. Nie-małym zaskoczeniem dla znawcy Azji będzie stwierdzenie, że z Singapuru można polecieć co najwyżej do Honkongu — po-łączeń międzykontynentalnych brak! Powód tych ograniczeń jest jasny — bez nich zbyt łatwo możnaby wygrać grę; mocno jednak cierpi na tym efekt edukacyjny. Niewątpliwym błędem w zestawie danych programu jest morska podróż z Tangeru (Afryka) do Panamy (Ameryka Środkowa) — tańsza i krótsza niż przejażdżka pociągiem z Rzymu do Neapolu (200 km). Po-dobny szok przeżywamy w Colombo stwierdzając, że pociąg do Hanoi jedzie tyle czasu, co do Kalkuty.

Natomiast zaletą programu GLOBTROTER jest fakt, że grę możemy przerwać w dowolnym momencie i wrócić do niej za godzinę, dzień, miesiąc czy rok dokładnie w to samo miejsce, w którym się zatrzymaliśmy. W trakcie gry możemy zażądać pokazania mapy poszczególnych kontynentów z wymieniony-mi głównymi miastami. Zawsze można zrezygnować z wybra-nego już środka transportu. Na bieżąco informowani jesteśmy o stanie naszego konta i aktualnym miejscu pobytu.

Życzę szczęśliwej podróży! (spi)

Dwa miesiące temu dostałem od przyjaciela grę fi rmy DA-TASOFT INCORPORATION noszącą, znany wszyst kim trzy-dziestolatkom i nie tylko, tytuł ZORRO. Bardzo się ucieszy-łem z tego prezentu, bo od razu przypomniały mi się lata, kie-dy jako dziecko ganiałem z kijem od szczotki. Teraz kompu-ter ATARI daje wszystkim, małym i dużym,możliwość zabawy w meksykańskiego Janosika.

Rozpoczątem grę od zwiedzania miasteczka, wdając się przy tym bezustannie w pojedynki na szpady z wychodzącymi z za-ułków i bram gwardzistami, lecz nic z mojego chodzenia nie wynikało. Postanowiłem się poradzić i zatelefonowałem do ośmioletniego dziecka przyjaciela. To był dobry pomysł.

ZORRO został odarty z tajemnic. Kierowany drążkiem ste-rowym poszedł czym prędzej po czarną chusteczkę rzuconą mu przez wybrankę jego serca z balkonu, zawieszoną przez przypadek na korbie od studni. Potem przeniósł się do innej części miasteczka po klucz do drzwi komnaty, w której za-mknięty był żelazny pręt do znakowania bydła. Z prętem po-pędził do kuźni, gdzie rozgrzał go do czerwoności. Zastana-wiałem się po co, ale w chwilę później ZORRO napiętnował nim bezpańskiego byka. Potem odszukał podkowę, którą za-brał ze sobą na szczęście. Na tym etapie gry pojawiły się na ekranie, jeden po drugim, dwa dzwony, które tytułowy boha-ter powiesił na starej dzwonnicy nieopodal cmentarza. Wów-czas otworzył się grobowiec.

ZORRO długo zastanawiał się, czy podkowa jest wystar czającym atrybutem szczęścia, aby wejść do krainy cieni. Po-stanowił jeszcze raz dokładnie spenetrować miasteczko, co okazało się bardzo rozsądne: po tym spacerze zniknął w fał-dach jego płaszcza znaleziony w studni złoty kielich. Kiedy przechodził obok dzwonnicy odegrał sygnałówkę natrąbce i stał się właścicielem buta.

Dopiero teraz skierował swe kroki do grobowca. Obyło się bez niespodzianek. Znalezione tam pieniądze w sakiewkach umożliwiły mu życie długie i szczęśliwe Zastanawia mnie tyl-ko jedno: kiedy już wychodził, pojawiły się sekretne drzwi z namalowanymi na nich podkową, kielichem i butem. Cie-kawe co jest za nimi? Myślę, że Wy w roli ZORRO spokojnie poradzicie sobie z tym problemem. (spi)

GLOBTROTER

ZORRO

Wśród wszystkich czytelników, którzy na-desłali nam swoje propozycje do Bajtkowej Listy Przebojów zgodnie z obietnicą rozlo-sowaliśmy nagrody, programy, które ufun-dowała brytyjska fi rma ELECTRONICS EXPORT. Nagrody wylosowali: Rafał Wilk z Świętochłowic, Krystyna Dębska z Józe-fowa, Janusz Ninard z Radomia i Grzegorz Skórzewski z Warszawy. Sławek

Już siedem miesięcy liczy sobie nasza Bajtka. Na nasze ósme notowanie Bajtko-wej Listy Przebojów gier mikrokomputero-wych nadeszło 2530 propozycji. Głosowa-no na 383 gry. Na I miejsce niespodziewa-nie awansował „BOMB JACK”. Pozostałe miejsca bez wielkich niespodzianek.

BAJTKOWA LISTA PRZEBOJÓW(7)

MOVIE

ENIGMA FORCE

BOMB JACK

BACK TO SKOOL

ROAD RACE

FAIRLIGHT

RASPUTIN

ZORRO

SPY VS SPY

ELITE

Piotr Skórzewskl, lat 13, zamiesz-kały Warszawa, ul. Goławicka 3, uczeń VII klasy Szkoły Podstawowej nr 114 — „szczęściarz” w konkursie Bajtkowej Listy Przebojów.

Twoja propozycja złotej dziesiątki gier została wylosowana i nagrodzona programem „ONE MAN AND HIS DROID” f-my MASTER TRONIC.

— Jaki masz mikrokomputer?— Niestety nie mam żadnego..., jeszcze. Rodzice

obiecują ale jest to dosyć droga zabawka.— Jak w takim razie typowałeś propozycję na Li-stę?— Mój kolega ma ATARI 800 XL. U niego mogę cza-sem bawić się grami.— Co zrobisz z nagrodą?— Poczekam, aż będę miał mikrokomputer.

SZCZĘŚCIARZ

Page 20: Bajtek Redux 11/1986

20 BAJTEK 11/86http://www.reduksy.pl/

KLAN COMMODORE

Od dłuższego czasu wśród użytkowni-ków C-64 krąży program syntezy mowy „SAM”. Program ten dodaje do zbioru ko-mend BASIC-a kilka własnych rozkazów, pozwalających na uzyskanie całkiem po-prawnie brzmiącej mowy. Niestety, bardzo niewielu osobom udało się zdobyć infor-macje o działaniu tego programu, który przez to bardzo rzadko jest wykorzystywa-ny. Poniżej podaje spis komend oraz spo-sób ich użycia.

SAY — powiedz — jest to odpowiednik rozkazu PRINT, pozwalający na wymawianie słów i zdań.

]RE — reciter— ustalenie rodzaju pracy polega-jącego na wymawianiu normalnie wpisywa-nych słów zgodnie z zasadami angielskiej fo-netyki.

]SA — sam — jest to rodzaj pracy, w którym tek-sty muszą być odpowiednio zapisane (złożo-ne z fonemów), ale za to dużo większe są możliwości wymowy wyrazów.

]PLxx — pitch — wysokość dźwięku. Tu i w następ-nych linijkach xx oznacza parametr w zakre-sie 0 — 255, złożony z cyfr (nie można uży-wać zmiennych).

]SPxx — speed— szybkość wymowy]KNxx,xx — throat — mouth, czyli usta — gardło, usta-

lenie brzmienia głosu. Normalne parametry to 128, 128.

]ER — error — obsługa błędu. Jeśli przy pracy w trybie „sam” użyjemy niewłaściwych zna-ków, rozlegnie się akustyczny sygnał błędu, a ]ER spowoduje pokazanie błędu.

Wszystkie komendy zaczynające się od znaku | inter-pretowane są podobnie jak GOTO, tzn. parametr może składać się tylko z konkretnych cyfr. Jeśli jednak ktoś chce zmieniać parametry mowy za pomocą zmien-nych, można to zrobić w następujący sposób:pitch: POKE 39439, x speed: POKE 39438, x throat: POKE 38881, x : SYS 38882mouth: POKE 38880, x : SYS 38882

W niektórych przypadkach komendy SAMa trzeba będzie oddzielić dwukropkiem, np.

IF A = 1 THEN :]PI15 : SAY” ...Brak dwukropka po THEN w powyższym przykła-

dzie spowodował by przerwanie wykonywania progra-mu i dobrze nam znany SYNTAX ERROR, czyli błąd składni.

Na zakończenie kilka słów o pisaniu fonetycznie. Jeśli chcemy, aby komputer zrozumiale wymawiał pol-skie słowa, musimy odpowiednio je zapisać. Ogólnie rzecz biorąc, zasada jest prosta. Po każdej samogło-sce wstawiamy literę H i cyfrę z zakresu 1 — 8, któ-ra decyduje o intonacji w danym miejscu słowa. I tak np. wyraz „BAJTEK” zapiszemy w następujący spo-sób: BAH4IH7TEH8K. Cyfry są oczywiście zależ-ne tylko od własnego uznania. Dla wymowy znacze-nie mają też takie znaki jak kropka, przecinek, dwukro-pek itp. Przy pisaniu fonemami np. znak * (gwiazdka) zastępuje dźwięk „sz” lub „ś”. Ta sama gwiazdka uży-ta w drugim rodzaju pracy (SHE) zostanie wymówiona jako „asterisk”

Zamieszczony program pokazuje sposób wykorzy-stania programu SAM. Uwaga dla tych, którzy SAM będą wczytywać z taśmy — po skończonym ładowa-niu zamiast RUN należy wykonać SYS 64738, a po-tem SYS 2064. Taki sposób uruchomienia gwarantuje poprawną pracę programu. Na pytanie programu „low or high memory” należy odpowiedzieć, naciskając lite-rę H. SAM wyklucza obecność programów takich jak TURBO, FAST LOAD, SIMON'S BASIC itp.

(M.S.)

Uff!Po tak solidnej dawce teorii

warto by było trochę odpocząć i przejść do nieco innej tematy-ki — jakie programy nadają sie do przepisania na taśmę.

Generalną zasadą powinno być uprzednie dobre poznanie danego programu zanim przy-stąpi się do prób jego przeniesienia na kasetę. Należy przy tym zwrócić uwagę na następują-ce szczegóły:

— czy komputer W TRAKCIE działania pro-gramu kontaktuje się ze stacją dysków?

— czy komputer PO ZAKOŃCZENIU nie za-pisuje wyników w jakimś zbiorze na dysku?

W pierwszym wypadku; dla wszystkich nie znających języka maszynowego mamy propo-zycję — przekonajcie sami siebie, że tak na-prawdę to wcale Wam za bardzo nie zależy na tym programie. Taki program będzie wyma-

Pewnego dnia, mając chwilę wolnego czasu, postano-wiłem nieco odświeżyć swój zbiór programów. Udałem

się w tym celu do bogatego w nowości znajomego, z któ-rym od dawna wymieniam programy. Mieliśmy już przystą-pić do przegrywania, gdy nagle pojawiła się trudna do po-konania przeszkoda. Otóż ów znajomy stal się zagorza-łym zwolennikiem TURBO SAVE-LOAD. Prawie wszyst-kie jego kasety były nagrane przy użyciu tego programu.

System TSL jest bardzo wygodny dla użytkowników DATASETTE, daje on możliwość szybkiego wczytywa-nia programów bez konieczności osobnego wgrywania

SAM

TSLC

SAM DEMO

10 REM SAM DEMO20 SAY"MOHVIH SAHM, PROHGRAHM SYNTEHZY MOHVY."30 SAY"OHTOH P*YKUHAHD VYKOH*YSTAHNEHAH FOHNEHMUHV."40 SAY"AH7 KUH3 KUH6."50 SAY"DOH8 REH7 MIH6 FAH5 SOH4 LAH3 SIH2 DOH1 0H20 H10H 20H1" 60 SAY"TAH1KIH1 GUH1OH1S IH1EH1ST TEH1* T*IH1EH1KAH1VYYY." 70 SAY"AH7LEH7 TAA4KIH4 TEH6* MOH7*EH7 BY5T*."80 SAY"POH4LSKAH6 VYM0HVAH3 IHEH7ST TSAH4UHKIHEH6M POH6PRAH8VNAH." 90 SAY"NAH4 P*Y5KUH6AH7DTT"100 SAY"/H*OHN*T* B*MIH7 V T*T*IH5NIHEH V *T*EHB*EH*Y6NIH6EH." 110 SAY"AH7 TEHRAHZ VYMOHVAH AHNGIHEHLSKAH." 120 ]RE130 SAV"I LOVE YOU."140 SAY"BYTECK IS THE BEST COMPUTER MAGAZINE IN THE WORLD."150 SAY"AND COMMODORE 64 IS THE BEST COMPUTER."160 SAY"DO YOU UNDERSTAND ME?"178 SAY"AE TARAEZ TROHE AEFEKTOOV."188 ]SP200:]PI200:SAY"I AM IRON MAN"198 ]KN100,150:]SP50:]PI100:SAY"MAM GUPY GUUOS"280 ]SP40:]PI30:]KN40,40 SAY"MAM YESHTCHE GUPSHY GUUOS."210 ]PI80:]SP60:]KN128,123:SAY"TROHAE MOOZYKEE."220 A$="ERERERERRTRTTYTYTBTBTHTGT"230 B$="TATARARERERYFUFYFYFYY"240 ]KN20,30250 FOR A=1 TO 4:SAY A$:NEXT 260 FOR A=1 TO 4:SAY B$:NEXT 270 ]KN220,30:]SP20 280 FOR A=1 TO 4: SAY A$: NEXT 290 FOR A=1 TO 4: SAY B$: NEXT 300 GOTO 280

READY.

PORADNIK

MŁODEGOPIRATA

cz.IV

Page 21: Bajtek Redux 11/1986

21BAJTEK 11/86http://www.reduksy.pl/

gał na pewno sporych przeróbek, co jest moż-liwe ale dla bardziej wtajemniczonych. W dru-gim wypadku należy po prostu wyłączyć/stację dysków z sieci przed zapisaniem wyników; je-żeli po próbie ich zapisania komputer nie zablo-kował się i gra wróciła do początku — taki pro-gram na taśmie da się zapisać.

W większości wypadków programy jedno-częściowe dają się przenieść bez większych problemów, oczywiście pod warunkiem po-prawnego wykonania tej operacji. Dotyczy to wszystkich programów zaczynających się od adresu 2048 i uruchamianych za pomocą RUN. Z naszych obserwacji wynika, że bardzo ważny jest program przyspieszający.

Jak już wiesz, istnieją także programy, które należy wczytywać za pomocą LOAD „NAZWA”, 8, 1. W takim wypadku należy zawsze spraw-dzić najpierw adres pamięci od jakiego pro-gram zaczyna się wczytywać. W tym celu trze-ba posłużyć się podstępem i potraktować nasz program jako zbiór; sztuczka polega na odczy-taniu dwóch pierwszych bajtów zawierających adres wczytywania.

Tytuł programu musi być wprowadzony do-kładnie tak samo jak na dysku, w przeciwnym wypadku otrzymasz bzdury. Mamy już więc nasz adres i ... jednocześnie następny pro-blem. Przypuśćmy, że otrzymałeś adres 680. W tej sytuacji Czytelników bez przygotowa-nia w zakresie języka maszynowego odsyłamy do przedstawionego już rozwiązania — zrezy-gnowania z prób przegrywania. Takie progra-my bowiem zmieniają najczęściej wektory waż-nych procedur systemu operacyjnego i wyma-gają bardzo dokładnej analizy pomijając już fakt samouruchamiania; jeżeli ktoś bardzo bę-dzie chciał „rozgryzać” taki program np. po-przez likwidację samouruchamiania to musi ro-bić to bezpośrednio na dyskietce, a nie w pa-mięci komputera. Inna metoda to zastosowa-nie dobrego monitora języka maszynowego. Uprzedzamy w każdym razie, że nad takimi programami trzeba się nieźle nabiedzić, a naj-bardziej potrzebna będzie tu wiedza o kompu-terze i jego systemie operacyjnym.

Przejdźmy teraz do programów kilkuczęścio-wych — dużo takich programów bowiem moż-na spotkać na dyskietkach i niektóre z nich są dość łatwe do przeniesienia na taśmę, co wcale nie znaczy, że będzie to proste! Wyobraźmy so-bie, że chcemy przenieść na taśmę dwuczęścio-wy program składający się z krótkiego programu wczytującego oraz właściwego programu:

10 LOAD „ABCD”,8,1 20 SYS 3945Linia 20 mówi nam wyraźnie od której ko-

mórki program się uruchamia; jego przenie-sienie na taśmę powinno wyglądać następu-jąco: 1. Wczytaj do pamięci program MASTER (lub podobny, używany przez Ciebie o którym wiesz, że działa jak w/w);

2. Uruchom go; następnie wykonaj NEW

<RETURN>;3. Wpisz do pamięci następującą linijkę: 10

SYS 3945 <RETURN>4. Wczytaj główną część programu za po-

mocą LOAD „ABCD”, 8, 15. Sprawdź wartości w komórkach 43-46; je-

żeli otrzymałeś 1, 8, 3, 8 to musisz wrócić do punktu 2;

6. Jeżeli dwie ostatnie wartości są różne od podanych powyżej to możesz już zapisać taki program na taśmie.

Czasami zdarza się jednak, że adres począt-ku programu wynosi np. 25000; wtedy masz do wyboru następujące możliwości:

— albo zapiszesz cały program w posta-ci jednego bloku, w skład którego wejdzie 23K zbędnej pamięci (co na pewno jest łatwiejsze, wydłuża jednak czas wczytywania programu);

— możesz także wczytać monitor języka maszynowego i próbować przenieść program bliżej początku pamięci co niestety nie zawsze będzie możliwe.

W praktyce zawsze jest bezpieczniej za-pisać nawet bardzo dużą „dziurę” gdyż bez dokładnego zbadania programu nie można stwierdzić czy nie będzie on w trakcie działania z „dziury” tej korzystał.

W podobny sposób można „składać” progra-my, które mają zapisane na dysku oddzielnie sam program i oddzielnie sprite’y oraz dane np. muzyczne. Procedura przenoszenia ich na ta-śmę jest w zasadzie taka sama z tym, że naj-pierw należy stworzyć ze wszystkich części (oczywiście po sprawdzeniu ich adresów wczy-tywania) jeden blok, który następnie zapisuje-my na wolnym dysku za pomocą SAVE „NA-ZWA” , 8, 1. Przy okazji dobrą metodą jest wgrywanie każdej części osobno i sprawdza-nie wartości w komórkach 45 i 46 — w ten spo-sób otrzymamy informację, która z części okre-śla koniec programu. Załóżmy, że nasze pro-gramy mają następujące adresy początkowe i końcowe:

część 1 — 3000 do 24000część 2 — 32768 do 39000część 3 — 26000 do 32767W takiej sytuacji po zgraniu wszystkich czę-

ści należy ustawić jako adres końca progra-mu 39000; po ustawieniu adresu początku (na 2049) należy zapisać na dysku jeden blok od 2049 do 39000.

Odrębne zagadnienie stanowią programy, które mają krótki program maszynowy jako pro-gram wczytujący pozostałe części. Konieczne jest wtedy określenie adresu komórki pamię-ci, od której program się uruchamia; dla nie-znających języka maszynowego jest to pra-wie niemożliwe tak więc pozwolimy sobie po-minąć gdyż nie zaliczają się one do programów NIEKTÓRYCH. Z tego samego powodu pomi-jamy również programy samou-ruchamiające się. (Ted)

Poniższy program, często wykorzystywany przez redakcję „Klanu Commodore”, pozwala na uzyski-

wanie wydruków o dowolnej szerokości.Program może się przydać, gdy np. chcemy wydru-

kować listing programu na węższym papierze bądź tak, by zostawić z boku trochę miejsca.

Przygotowanie danych do drukowania odbywa się następująco: należy załadować program przeznaczony do listowania i napisać:

OPEN 1, 8, 5, „LISTING,S,W” : CMD 1 : LIST PRINT 1: CLOSE 1

Następnie należy wgrać i uruchomić LISTER. Pro-gram pyta o szerokość wydruku. Musi to być liczba w zakresie 1-80.

Oprócz listingów LISTER może posłużyć do wydru-kowania zawartości dowolnego zbioru typu SEQ. Na-leży w tym celu zmienić nazwę „listing” w komendzie OPEN (linia 1010) na własną i uruchomić LISTER.

Uwaga: program przez cały czas korzysta ze sta-cji dysków. Używanie go z magnetofonem możliwe jest teoretycznie (należy zmienić parametr 8 na 1). ale bar-dzo niewygodne.

(M.S.)

TURBO. Nie ma jednak róży bez kolców, TSL daje moż-liwość kopiowania taśma-taśma, ale nic poza tym. Z ko-lei format zapisu używany przez TSL (nagłówek nagra-ny normalnie a reszta w TURBO) jest nieczytelny prak-tycznie dla wszystkich programów kopiujących. Tak więc przegranie programu z kasety na dysk jest — w przy-padku programów dłuższych niz 39 K — niemożliwe. W tej sytuach nie pozostało mi nic innego, jak tylko na-pisać własny program kopiujący

Jego działanie jest proste, po uruchomieniu przez SYS 679 na dysku zostaje zapisana zawartość pamięci RAM

od adresu 2049 do (maksymalnie) 53247 Nazwa oraz ad-resy początku i końca programu są automatycznie wyczy-tywane z bufora magnetofonu. Przełączenie bloków pa-mięci powoduje, że zamiast interpretera języka BASIC na dysku zapisany zostanie zawarty „pod nim” w RAM pro-gram. Można kopiować programy o długości do 51 K.

Kopiowanie za pomocą TSL COPY odbywa się następująco: wczytujemy TSL COPY, potem program przeznaczony do skopiowania. Po włożeniu pustej dyskietki piszemy SYS 679 i po chwili program jest

skopiowany. Można teraz wczytać z taśmy następny program, napisać SYS 679 i tak w kółko. TSL COPY jest w pamięci do momentu wykonania procedury RE-SET (SYS 64738) lub, oczywiście, wyłączenia kom-putera.

TSL COPY można wykorzystać do innych celów. Wystarczy, że w adresy 832-848 wpiszemy nazwę, a w 43-46 adresy początku i końca, a po wykona-niu SYS 679 dowolny obszar pamięci znajdzie się na dysku.

COPY1000 DATA120,169,6,133,1,88,169,16,162,64,160,3,32,249,253,169

1001 DATA1,162,8,160,255,32,0,254,169,43,166,45,164,46,32,221

1002 DATA245,120,169,7,133,1,88,96

1003 FORJ=679 TO 718:READQ:POKEJ,Q:S=S+Q:NEXT

1004 IFS<>4411THENPRINT"POMY£KA W DANYCH !":STOP

1005 PRINT"PO WGRANIU PROGRAMU - SYS 679":NEW

READY.

LISTERLISTER

LISTER

Page 22: Bajtek Redux 11/1986

22 BAJTEK 11/86http://www.reduksy.pl/

Zgodnie z obietni-ca dana w poprzednim odcinku, dziś omó-wione będa sposoby przedefi niowania ze-stawu znaków. Na po-czątek trochę teorii.

Za generację znaków i grafi ki na ekranie C64 odpowiedzialny jest osob-ny, specjalizowany procesor wizyjny, zwany VIC (Video Interface Control-ler). Pracuje on z zegarem 8 MHz, może za-adresować 16 K pamięci, a sterowa-ny jest za pośrednictwem 47 rejestrów w adresach 53248-53294. Jako prze-strzeń pracy tego procesora może być wybrany dowolny 16 K bank w pamięci komputera. Normalnie procesor usta-

wiony jest na czytanie pierwszych 16 K, czyli banku O (adresy od 0 do 16383). Oprócz dostępu do wspomnianych 16 K, dla VIC-a zarezerwowany jest 1 K pamięci koloru w adresach 55296-56319. Pamięć ta wykorzystywana jest wyłącznie przy pracy w trybie teksto-wym, a sposób jej wykorzystania można sprawdzić za pomocą prostego testu:

POKE 1024,1 — w lewym górnym rogu ekranu po-winna pojawić się litera A

POKE 55296,C — litera zmienia ko-lor w zależności od wartości pa-rametru C.

Ingerując w zawartość pamięci kolo-ru można dowolnie zmieniać kolory tek-stu, nie naruszając zawartości ekra-nu. W adresach 55296-56319 mieści się również ROM zawierający dane dla two-rzenia kolorów, jednakże wykorzystanie

go jest czysto sprzętowe i nie będziemy się nim zajmować.

W ramach swoich 16 K procesor gra-fi czny przechowuje następujące dane:

— 1 K pamięci ekranu tekstowego— 8 K pamięci ekranu grafi cznego— od 0 do 16 K danych dla sprite’ow— 4 K danych dla tworzenia znaków

(tzw. generator znaków)Rozmieszczenie tych obszarów w 16

K przestrzeni adresowej VIC-a jest do-wolne. Ostatnie 8 bajtów pamięci ekranu tekstowego (przy normalnym ustawieniu procesora są to adresy 2040-2047) wy-korzystane jest jako wskaźniki sprite’ow, czyli parametry informujące procesor, gdzie znajdują się w pamięci dane po-trzebne do generacji sprite’ow.

Procesor grafi czny w ramach „swo-ich” 16 K ma dostęp do innych bloków pamięci, niż procesor główny. Ilustruje to rys. 1

Skoro wiemy już, jak VIC zarządza pamięcią, warto teraz zająć się teorią powstawania znaków. Jak już wspo-mniałem, 4 K w przestrzeni adresowej procesora zarezerwowane są dla ge-neratora znaków. W ich obrębie zawar-te są dwa zestawy, jeden z nich zawie-ra duże litery i komplet znaków grafi cz-nych, drugi zaś litery duże, małe i tylko niektóre znaki grafi czne. Zestaw przełą-czamy, naciskając jednocześnie klawi-sze SHIFT i COMMODORE LOGO. Po-jedynczy zestaw znaków, zajmujący 2 K, zawiera dane dla grafi ki typu mapy bitów. Na podstawie tych danych VIC generuje rysunki o kształcie zależnym od numeru znaku, zawartego w pamię-ci ekranu. Na dane dla jednego znaku składa się 8 bajtów. Dla tych, którzy nie zetknęli się jeszcze z grafi ką „bitmap”, zamieszczam krótki opis postępowania przy projektowaniu własnych znaków.

Jeden bajt składa się z ośmiu bitów. Każdy bit może przyjmować wartość 0 lub 1. Grafi czne przedstawienie bajtu o wartości 44 wygląda następująco:

0 0 1 0 1 1 0 0Ponieważ poszczególne bity, li-

cząc od prawej do lewej strony, zgod-nie z prawami zapisu pozycyjnego mają wartości odpowiadające kolejnym potę-gom dwójki, czyli odpowiednio 1, 2, 4, 8, 16, 32, 64 i 128 nasz przykładowy bajt można przedstawić również w taki spo-sób:

00 + 00 + 32 + 00 + 08 + 04 + 00+ 00Po zsumowaniu wartości bitów usta-

wionych na 1 otrzymujemy wartość 44 = (4 + 8 + 32) Na rysunku 2 po lewej stronie, widzimy literę A ro-zrysowaną w siatce 8 x 8 Po prawej stronie ta sama litera przedstawiona jest w postaci baj-tów i przeliczona na wartości dziesiętne:

Rysując w siatce literę A, a następ-nie sumując wartości ustawionych bitów, uzyskaliśmy szereg liczb: 8, 28, 54, 99, 127, 99, 99, 0. Analogicznie

projektujemy pozostałe znaki. Uzy-skany dwu kilobajtowy zestaw danych

umieszczamy w pamięci. Procesor wi-zyjny, wyświetlając jakiś znak, odwoła się do umieszczonych przez nas w pa-mięci wzorów, pobierze osiem kolejnych bajtów i wyświetli na ekranie te punkty, które odpowiadają bitom ustawionym na 1. W rezultacie na ekranie pojawi się żą-dany znak.

Dzięki opisanej technice możemy już projektować własne znaki. Został jednak do rozwiązania problem znale-zienia adresu w obrębie matrycy zna-ków, pod którym będziemy umieszczać dane. Chodzi o to, aby naciśnięcie kla-wisza z wizerunkiem danej litery powo-dowało wyświetlenie tego właśnie, a nie innego znaku. Rozwiązanie polega na użyciu formuły:

ADR = MAT + NR x 8 gdzie ADR to szukany adres, MAT

— adres początku matrycy znaków, zaś NR to numer znaku wzięty z tabeli ko-dów ekranowych (patrz rys. 3). Tabela ta zawiera numery znaków w kolejności ich występowania w generatorze (ma-trycy). Przykładowo, jeśli projektujemy literę A, po narysowaniu jej w siatce 8 x 8 i wyliczeniu ośmiu bajtów, znajduje-my w tabeli numer litery A i podstawia-my do wzoru. Zakładam, że generator znaków umieszczony jest w pamięci od adresu 12288:

ADR = 12288 + 1 x 8 = 12296Widzimy, że dane dla litery A należy

wpisać w komórki pamięci o adresach 12296-12303. Litera B będzie wpisana odpowiednio w adresy 12304-12311 itp.

Opisany sposób projektowania zna-ków daje duże możliwości nie tylko w przypadku projektowania liter. Pro-gram zamieszczony na końcu tego ar-tykułu pokazuje próbkę możliwości tej techniki.

Wracając jednak do sprawy polskich liter. Jeśli chcemy zmienić tylko kilka znaków, czy musimy w tym celu projek-tować od nowa wszystkie? Na szczęście nie, istnieje sposób na przepisanie za-wartości matrycy znaków z ROM-u do RAM-u. Potem wystarczy tylko wprowa-dzić drobne zmiany i nowy zestaw zna-ków mamy gotowy. Program przepisują-cy znaki wygląda następująco:

10 MAT = 1228820 POKE 56333,127 : POKE1,PEEK (1) AND 25130 FOR X = 0 TO 204840 POKE MAT + X, PEEK(53248 + X)50 NEXT X60 POKE 1,PEEK (1) OR 4 : POKE 56333,129Linia 10 ustala adres generatora

znaków w RAM. Linia 20 wyłącza prze-rwania NMI i przełącza bloki pamięci. Li-nie 30, 40 i 50 tworzą pętlę przepisującą pierwszy zestaw znaków (2 K), który po przełączeniu pamięci pojawia się w ad-resach 53248-55295. Można za jednym zamachem przepisać oba zestawy zna-ków, należy wtedy zmienić linię 30 na-stępująco:

KLAN COMMODORE

....X... bajt 0, 00001000: 8

...XXX.. bajt 1, 00011100: 4+8+16=28

..XX.XX. bajt 2, 00110110: 2+4+16+32=54

.XX...XX bajt 3, 011000110: 1+2+32+04=99

.XXXXXXX bajt 4, 011111111: 1+2+4+8+16+32+64=127

.XX...XX bajt 5, 01100011; 1+2+32+64+99

.XX...XX bajt 6, 01100011; 1+2+32+64=99

........ bajt 7, 00000000; 0

0 8192 16384 24576 32768 40960 49152 57344 65536 B

0 8 16 24 32 40 48 56 64 KB

0 8 16 24 32 40 48 56 64 KB

0

RAM

RAM koloru

16 32 48 64 KB

POLSKIALFABET

cz. II

Rys. 1 Mapa pamięci C64

Rys. 1 Mapa pamięci C64

Page 23: Bajtek Redux 11/1986

23BAJTEK 11/86http://www.reduksy.pl/

Wydawane od połowy 1984 roku roku, o przeciętnej objętości 80 stron czasopismo, nie przynosi na swo-ich łamach nic nowego, czego by nie można było znaleźć w innego tego typu periodykach. Obok opisu sprzę-tu i urządzeń peryferyjnych, znajdu-jemy recenzje gier i oprogramowa-nia użytkowego. Od czasu do czasu redakcja przeprowadza zbiorowe te-sty porównawcze ostatnich modeli drukarek, modemów, piór świetlnych, tabliczek cyfrowych i innego rodza-ju sprzętu, stworzonego oczywiście z myślą o C 64/128. A jest tego całe mnóstwo: przeglądając, nawet po-bieżnie, jakikolwiek numer YC, jesz-cze raz można się przekonać, iż C 64 jest chyba najlepiej oprzyrządowa-nym komputerem domowym świata!

Ciekawe są też artykuły poświę-cone zastosowaniem praktycznym Commodore 64, np. dostosowaniem go do współpracy z różnymi instru-mentami elektronicznymi.

Innym, interesującym działem, jest cykl artykułów poświęconych ję-zykom programowania, np. „Jak opa-nować kod maszynowy” czy „Roz-szerz swój BASIC”.

Wszystkie opisywane urządzenia oraz zamieszczone wydruki progra-mów są publikowane głównie z my-ślą o modelach C 64 i VIC 20. Na kil-ka przejrzanych numerów, tylko w jednym z nich znaleźliśmy program dla C 116. O modelach +4 i 16 nawet nie wspomniano. Od pewnego nato-miast czasu YOUR COMPUTER dru-kuje programy napisane dla modelu C 128, przy czym — najczęściej — wy-korzystywana jest tu wysokorozdziel-cza grafi ka trybu 128.

Pismo nie jest tanie, 90 szylin-gów. Należy więc żałować, iż za tę cenę i przy tej jakości papieru, kolo-rowe strony można policzyć na pal-cach jednej ręki, a i te reklamowały raczej mało ciekawe artykuły. Nato-miast żadna z 17 recenzowanych gier nie miała kolorowego zdjęcia!

Tak więc uwaga zwolennicy Com-modore. Zastanówcie się zanim wy-dacie na prenumeratę blisko 17 fun-tów. Czy macie jakiś wybór? Ow-szem, w Wielkiej Brytanii jest jeszcze siedem innych tytułów czasopism wydawanych z myślą o posiadaczach różnych modeli Commodore, jedne bardziej kolorowe od drugich. Ale za-wsze pozostaje Wam ... Bajtek. I to za jedyne 100 złotych!

YOUR COMMODORE No 1 Golden Square LONDON WIR 3AB, ENGLAND

Jerzy Zawadzki

YOURCOMMODORE

30 FOR X = 0 TO 4096 linia 60 przywraca początkowy układ

bloków pamięci i na powrót włącza prze-rwania. Dla wyjaśnienia: NMI, czyli prze-rwania niemaskowalne, pełnią w kom-puterze dosyć ważną rolę. Przełączenie bloków pamięci, w których przerwania te działają, byłoby jak wyjęcie autostra-dy spod pędzących samochodów. Sku-tek łatwo sobie wyobrazić. Dlatego też przed wszelkimi operacjami naruszający-mi podstawowe funkcje komputera prze-rwania należy wyłączyć.

Po wykonaniu powyższego pro-gramu kopia generatora znaków znaj-duje się w pamięci RAM w adresach 12288-14335 lub 12288-16383 (zależnie od tego, którą wersję linii 30 komputer wykonał). Niestety, procesor grafi czny o tym nie wie i dalej korzysta ze swojego ROM-u. Sposób na poinformowanie VIC-a o lokalizacji nowego zestawu znaków w pamięci jest następujący:

POKE 53272, (PEEK (53272) AND240) + ADR/1024 Pod adresem 53272 mieści się jeden

z rejestrów sterujących procesora wizji, zwany MCR (Memory Control Register, Rejestr Sterowania Pamięcią). Bity 0-3 w tym rejestrze przechowują wskaźnik lokalizacji matrycy znaków. Jest to licz-ba parzysta w zakresie 0-14, która po-mnożona przez 1024 daje adres matry-cy znaków, czyli wartość naszej zmien-nej ADR. Z takiego sposobu przechowy-wania tej liczby wynika powyższy wzór, jak również fakt, iż zestaw danych dla znaków może zaczynać się tylko od ad-resu podzielnego przez 2048.

Po ustawieniu procesora grafi czne-go na czytanie matrycy znaków z RAM-u możemy zacząć eksperymenty. Nale-

ży znaleźć takie klawisze, którym moż-na przypisać polskie litery bez utraty zna-ków ważnych przy używaniu komputera, jak dwukropek czy średnik. Następny ar-tykuł zawierać będzie propozycję opty-malnego rozmieszczenia znaków na kla-wiaturze, jednakże mimo to zachęcam wszystkich do prób.

Na zakończenie program demonstru-jący technikę wprowadzania własnych znaków. Nie będę opisywał działania każdej linii, ponieważ te same linie zo-stały już wcześniej omówione w tekście. Na uwagę zasługuje tylko część demon-stracyjna. Zmienione jest pierwsze sześć znaków, o kodach ekranowych 0-5, ko-dach ASCII 64-69. Siódmy z kolei znak (litera F) został wykorzystany do poka-zania możliwości zmiany kształtu zna-

ku w czasie. Powrót do starego zesta-wu znaków odbywa się przez naciśnięcie klawiszy RUN/STOP i RESTORE. Pole-cam eksperymenty, polegające na „ręcz-nym” — czyli w bezpośrednim trybie pra-cy — wpisywaniu różnych wartości w ob-ręb matrycy znaków i obserwowanie efektów. Proponuję taki eksperyment:

FOR X = 12288 TO X + 2048 : POKE X, RND (1) - 256 : NEXT

Zaręczam, że efekt będzie interesu-jący, oczywiście w sensie poznawczym, bo pracować z tak uzyskanym zesta-wem znaków byłoby raczej trudno. Na-stępny odcinek zawierać będzie przykła-dy konkretnej realizacji polskich znaków za pomocą zmiany matrycy.

M.S.

DEFINIOWANIE ZNAKOW

1000 PRINTCHR$(147);CHR$(142);CHR$(8):POKE56333,127:POKE1,PEEK(l)AND2511010 FORX=0TO2048:POKE12288+X,PEEK(53248+X):PRINTX,CHR$(19);:NEXT1020 POKE1,PEEK(1)OR4:POKE56333,129:POKE53272,(PEEK(53272)AND240)+121030 PRINTCHR$(147):FORA=0TO5:FORB=0TO39:PRINTCHR$(64+A);:NEXT:PRINT:NEXT1040 READN:FORX=0TON*8-l:READQ:POKE12288+X,Q:NEXT:PRINT1050 FORA=1TO80:PRINT"F";:FORB=0TO7:POKE12288+6*8+B,RND(1)*256:NEXT:NEXT 1200 DATA 61300 DATA 255,129,129,129,129,129,129,255: REM PROGRAM TEN POZWALA NA 1310 DATA 28, 54, 99, 99,127,99,99,6: REM PRZEDENIOWANIE ZESTAWU1320 DATA 126,129,165,165,129,126,36,102: REM ZNAKOW.ZMIENIONO ZNAKI1330 DATA 24, 36, 36, 40, 36, 36,24,192: REM O KODACH ASCII OD 64 DO1340 DATA 3, 5, 9, 17, 31, 33,65,129: REM 70, CZYLI KODACH EKRANO-1350 DATA 255,129,189,165,165,189,129,255: REM WYCH OD 0 DO 6.

READY.

ZMIENIONY KURSOR

1020 POKE1,PEEK(1)OR4:POKE56333,129:POKE53272,(PEEK(53272)AND240)+121030 PRINTCHR$(147):FORA=0TO5:FORB=0TO39:PRINTCHR$(64+A);:NEXT:PRINT:NEXT1040 READN:FORX=0TON*8-l:READQ:POKE12288+X,Q:NEXT:PRINT1050 FORA=1TO80:PRINT"F";:FORB=0TO7:POKE12288+6*8+B,RND(1)*256:NEXT:NEXT 1200 DATA 61300 DATA 255,129,129,129,129,129,129,255: REM PROGRAM TEN POZWALA NA 1310 DATA 28, 54, 99, 99,127,99,99,6: REM PRZEDENIOWANIE ZESTAWU1320 DATA 126,129,165,165,129,126,36,102: REM ZNAKOW.ZMIENIONO ZNAKI1330 DATA 24, 36, 36, 40, 36, 36,24,192: REM O KODACH ASCII OD 64 DO1340 DATA 3, 5, 9, 17, 31, 33,65,129: REM 70, CZYLI KODACH EKRANO-1350 DATA 255,129,189,165,165,189,129,255: REM WYCH OD 0 DO 6.

READY.

Nie podajemy całej tabeli, ponieważ:a. znaki o kodach od 128 do 255 to po

prostu „negatywy” pierwszych 128 znaków

b. drugi zestaw znaków, jako zawierają-cy zarówno duże, jak i małe litery le-piej nadaje się do naszych celów

c. pełną tabelę można znaleźć w prawie każdej instrukcji obsługi

TABELA KODÓW EKRANOWYCH DRUGI ZESTAW ZNAKÓW

Page 24: Bajtek Redux 11/1986

24 BAJTEK 11/86http://www.reduksy.pl/ KOMPUTER POD CHOINKĘ

Page 25: Bajtek Redux 11/1986

25BAJTEK 11/86http://www.reduksy.pl/

PRZED EKRANEMKORESPONDENCJA

ZE SZWECJIPrzyjeżdżającemu do Mal-

mo natychmiast rzuci się w oczy niezwykła czystość panująca w tym mieście i ol-brzymia ilość sklepów od za-wartości których można do-stać zawrotu głowy. Niestety znacznie częściej można też dostać zawrotu od cen tu pa-nujących — Szwecja jest ra-czej drogim krajem.

Na pierwszy rzut oka kompute-rów specjalnie nie widać, jeśli nie li-czyć automatów bankowych czy re-klam na wystawach sklepów. Dopie-ro po pewnym czasie zaczyna się do-strzegać małe sklepiki i luksusowe supermarkety, na wystawach których niepodzielnie króluje małe plastikowe pudełko z klawiaturą. Jak to zwykle bywa fi rma sprzedająca czy to kom-putery czy oprogramowanie oferuje inne udogodnienia — nie ma co ukry-wać, w porównaniu z cenami w RFN panuje tu drożyzna.

Sprzętu jest dosłownie masa. Naj-bardziej popularnymi komputerami są tu modele fi rmy COMMODORE; po-pularnymi do tego stopnia, że trzeba czasami tydzień czekać zanim sprzęt nie zostanie ściągnięty z hurtowni. Dotyczy to zwłaszcza modelu nr 1 na szwedzkiej liście przebojów — COM-MODORE 128D. Z siedmiu sklepów, w których pytałem o ten model, był on tylko w jednym i to też dwie ostatnie sztuki.

W zasadzie brak tu takich kompu-terów jak COMMODORE 16, COMMO-DORE 116, czy VIC 20. Bardzo tanie sprzedaje się COMMODORE +4, któ-ry jest tu w cenie od 36 (!) do 100 do-larów. Wszelkich innych modeli od nowej wersji COMMODORE 64/64 C — wyposażona w nową klawiaturę, nową obudowę od C 128 i dodatkowy ROM z programem GEOS/ do AMIGI włącznie jest w sklepach sporo.

Oprócz Commodore najbardziej eksponowanym w sklepach jest kom-puter VICTOR — kompatybilny z IBM PC/AT i oferujący podobne możliwo-ści i parametry techniczne. Z „drob-nicy” można spotkać też ZX SPEC-TRUM (na wymarciu defi nitywnym), kilka komputerów MSX i nieliczne, po-jedyncze egzemplarze Amstrada CPC 464. W dużych profesjonalnych skle-pach można kupić lub wynająć taki sprzęt jak Hewlett PACKARD, ERIKS-SON, IBM, ICL, PDP, itp. Są to już kom-putery profesjonalne, tak więc i mło-dych entuzjastów w sklepach tych nie widać — ceny robią swoje.

Nigdzie nie mogłem trafi ć na naj-mniejszy choćby ślad fi rmy ATA-RI — sprzedawcy twierdzili, że jest to sprzęt mało popularny i nie opłaca sie go sprzedawać.

Na zakończenie chciałbym wspo-mnieć o czasopismach, gdyż dla znających szwedzki są one dostęp-ne w każdym większym supermarke-cie. Anglojęzyczne wersie COMPUTE! RUN COMMODORE PO-WER/PLAY/COMPUTE! SINCLAIR USER, MSX COMPUTERS, itp. można kupić za kil-ka dolarów (średnio ok. 4-5 za czaso-pismo) w „International Press Cen-ter” przy placu Gustawa Adolfa. Są tam także niemieckie magazyny jak 64'er, MC itp.

Najsmutniejszym widokiem są polskie napisy w sklepach, dość wy-mownie świadczące o „chlubnej” opi-nii jaką pozostawili po sobie niektó-rzy rodacy „turyści”. Dotyczy to tak-że sklepów z komputerami, gdzie na dźwięk polskiej mowy sprzedaw-cy niechętnie wypożyczają dyskiet-kę czy kasetę do obejrzenia progra-mu — zdarzały się bowiem wypadku, że ulatniały się one wraz z „klientem”.

Klaudiusz Dybowski

Już po raz trzeci producenci sprzętu morskiego spotkali się we wrześniu tego roku w gdańskiej Hali „Olivia”. Wystawa Baltexpo'86, z roku na rok gromadzi coraz więcej wystawców.

Nie ma ona charakteru handlowego, co jednak nie wyklucza podpisywania kontraktów czy też prowadze-nia rozmów wstępnych.

Wśród licznych wystawców nasze zainteresowanie wzbudziła największa brytyjska fi rma komputerowa International Computers Limited. Była to jedyna fi rma prezentująca systemy komputerowe na poziomie światowym.

Dyr. JAN KLUK mówiąc o owocach współpracy International Computers Limited z Polską powiedział: — Na rynku polskim istnieje ponad 400 instalacji komputerowych ICL i pochodnych. Podpisaliśmy kontrakty m.in. z przemysłem stoczniowym w Gdańsku, Szczecinie i Ustce; z przemysłem ciężkim (Huta im. Lenina, Zakłady Metalowe Cegielskiego); centralami handlu zagranicznego: Polservice, Ciech, Skórimpex, Textilimpex, Cenfexim, Polmot; przedsiębiorstwami transportowymi: PKP, PKS oraz wieloma innymi.

Filozofi ę ICL dyr. KLUK przedstawił w następujących słowach: — My chcemy współpracować z rynkiem a nie sprzedawać i dlatego interesuje nas sprzedaż nie skrzynek (tak wyglądały te najnowocześniejsze elementy) a całych systemów w pełni odpowiadających konkretnym wymaganiom.

Nie ograniczamy się do sprzedaży. Komputer jest pojazdem — ważne jest również dokąd jedzie-my. Dlatego przedstawiamy koncepcję na następ-ne 10 lat.

Potwierdzeniem słów Dyrektora Oddziału w Pol-sce J. Kluka był przedstawiony przez ICL sprzęt kom-puterowy. Szczególne zainteresowanie wzbudzał sys-tem mikrokomputerowy DRS 300 będący wg zapew-nień pracowników ICL szczytowym osiągnięciem tech-nologii. Daje możliwość budowania systemu lub sieci komputerowej w bardzo krótkim czasie z modułów nie większych niż biurowe segregatory.

Na wystawie został pokazany również reprezentant rodziny mikrokomputerów O’ serii QUATTRO. Dowie-dzieliśmy się, że pojawił się już PC QUATTRO PLUS. Niestety, do obejrzenia jedynie nawet jeżeli nie ozna-cza to, że na BALTEXPO'86 fi rma ICL przygotowała zestaw anachroniczny. Jest jedynie oznaką tempa roz-woju i kolosalnych przyspieszeń w technice mikrokom-puterowej, QUATTRO PLUS po prostu spóźnił się na pociąg do Gdańska.

O znaczeniu jakie przywiązuje fi rma ICL do wysta-wy BALTEXPO’86 najlepiej świadczy zaprezentowa-ny, wg jej przedstawicieli najnowocześniejszy na świe-cie pokładowy system komputerowy kontroli załadowa-nia dla morskich statków towarowych. Ma ona zapew-nić optymalną eksploatację statku i, co najważniejsze, bezpieczeństwo. Przy jego pomocy możliwa jest stała kontrola stateczności statku i towaru. System LOCON wydaje dyspozycje załadunku i rozładunku statku, po-zwala na natychmiastową ich modyfi kację oraz warian-tową analizę stanu załadowania. Może się również zaj-mować kontrolą: stateczności awaryjnej, obciążeń po-kładów, obciążeń skręcających zbiornikowców. System ten może też mieć połączenie teletransmisyjne z dys-pozytorami portowymi i armatora.

System LOCON dostarcza informacji dotyczących ewentualnego przeładowania towaru dla zachowania bezpieczeństwa. Może również prowadzić analizy eko-nomiczne tzn. jaki towar skąd i dokąd ma być przewie-ziony, a także jaka jest cena usługi frachtowej.

Podobno ta absolutna pewność ma być zainstalowa-na na polskich statkach. Miejmy nadzieję, że do tego doj-dzie. Wprowadzenie nowoczesnych systemów mikro-komputerowych na statki PLO i PŻM jest koniecznością nie tylko chwili ale również i sprostania wymaganiom sta-wianym przez towarzystwa ubezpieczeniowe. Nie moż-na więc długo zwlekać z zakupem, pamiętając jednak, że kupujący ma prawo wyboru najlepszego towaru.

Dariusz Dewille

MIKR

ODAT

OR C

ZYLI

KOMP

UTER

PO SZ

WEDZ

KUBALTEXPO

KOMPUTERY ICL’86

Page 26: Bajtek Redux 11/1986

26 BAJTEK 11/86http://www.reduksy.pl/

Ofi cjalny dystrybutor na Polskę: ABC-Data GmbH Postfach 200 465 5300 Bonn 2R.F.N.Telefon:311433 Teleks: 886717

NL – 10 – drukarka roku 1986: 120 zn/sek, 80 ko-lumn, druk korespondencyjny, „tablica roz-dzielcza” z sensorami umożliwiającymi wy-bór wielu funkcji, system łatwo wymiennych interfejsów, półautomatyczny podajnik kart, przesuw papieru do przodu i do tyłu, etc.

SD-10/15 – 160 zn/sek, 80/136 kolumn, 2/16kB pamięci wewnętrznej, druk korespondencyjny,

SR-10/15 – 200 zn/sek, parametry jak SD-10/15 plus półautomatyczny podajnik kart, przesuw papieru do przodu i do tyłu,

Oraz najbardziej popularne w Polsce: drukarki używa-jące łatwo dostępną taśmę barwiącą na szpulkach!:

Gemini-10X/10i – 120 zn/sek, 80 kolumn Gemini-15X/15i – 120 zn/sek, 136 kolumnSG-15 – 120 zn/sek, 136 kolumn, 16kB pamięci

wewnętrznej, druk korespondencyjny

Wszystkie drukarki marki STAR posiadają szerokie możliwości grafi czne oraz zezwalają na programowa-nie dowolnie zdefi niowanych znaków.

Twoja drukarka

Drukarki Star to arcydzieła pasujące do każdego komputera

WSZYSTKO DLA WSZYSTKICH

Page 27: Bajtek Redux 11/1986

WSZYSTKO DLA WSZYSTKICHNOWO OTWARTY

Skład konsygnacyjny „COMPEX” Marszałkowska 60 przy PHZ „Dynamo”

oferuje do sprzedaży za waluty wymienialne szeroki asortyment części i podzespołów elektronicznych

do

Komputerów Drukarek Sprzętu Hi-FI Video — Rekorderów

Telewizorów itp. Przyrządy pomiarowe Narzędzia serwisowe Możliwość sprzedaży katalogowej

tel. 28-38-23. D-112

Terminal ekranowy AN-2000 przeznaczony jest do wprowadzania danych z klawiatury i przesyłania ich do systemu komputerowe-go oraz wyświetlania na ekranie monitora informacji odbieranej z systemu komputer-owego. Łączność z systemem komputerow-ym odbywa się poprzez programowalny in-terfejs szeregowy według standardu CCITT V-24. Znaki są przesyłane w kodzie ISO 7. Pojemność ekranu wynosi 2000 znaków roz-mieszczonych w 25 wierszach po 80 znaków w wierszu. Wprowadzono bardzo elastyczne możliwości redagowania informacji na ekra-nie. Dostępne są duże i małe litery, alfabet angielski i polski oraz znaki semigrafi czne.

Producent: Zakłady Mechaniki Precyzyjnej Unitra Magmor ul. Beniowskiego 5Gdańsk-Oliwa K-155

WS Z YST KO D L A WS Z YST K I C H

Reklamy przyjmuje Młodzieżowa Agencja Wydawnicza (Redakcja Wydawnictw Poradniczych i Re-klamy), 04–028 Warszawa, Al. Stanów Zjednoczonych 53, po-kój 313, tel. 10-56-82

Cena ogłoszeń: 200 zł na 1 cm2

plus dodatki za kolor.

JAK

REKLAMOWAĆ

SIĘ W BAJTKU?Świąteczny konkurs „Bajtka”

Klany: Commodore, Amstrad, Atari,Spectrum, Meritum

Myślące odkurzacze, czyli jesz-cze raz o sztucznej inteligencji

Najprostszy na świecie drążek sterowy

Dlaczego IBM

Kupon zgłoszenia do konkursu klubów mikrokomputerowychO ZŁOTĄ DYSKIETKĘ „BAJTKA”

i dużo prezentów dla posiadaczy komputerów.

W numerze świątecznym:

UWAGA UŻYTKOWNICY CP/MMikSID — rewelacyjny program emu-

latora dla CABO.Informacje: “MIK” Stanisław Gardynik 05-550 Raszyn

ZEELM inż. J. Mirski Kraków ul. Janowa Wola 16

tel. 66-03-43, 48-22-64COMMODORE C-64

PROGRAMY Komputerowe na EPROM - ZEELM

SPECTRUM —programy wysyła: SPECTRA,21-426 Wola Mysłowska.

NOWOŚĆ W SKALI ŚWIATOWEJ!CABO to pierwszy w świecie mikrokomputer przeznaczony do samo-dzielnego złożenia, którego dokumentacja rozpoczyna się od takich pojęć jak: napięcie, prąd, prawo Ohma a kończy... system przerwań, emulator, RTS (procesy współbieżne, semafory). Koszt elementów poniżej 10000 zł!Informacje po nadesłaniu koperty zwrotnej.“MIK” Stanisław Gardynik 05-550 Raszyn D-113

ZX SPECTRUMATARI

WYPOŻYCZALNIA PROGRAMÓW. WYSYŁKA NA CAŁY KRAJ.

KATALOGI — GRATIS, KLUBY — ZNIŻKA. DH “SEZAM” IIp. g. 16-19

00-849 Warszawa, UPT 66 skr. p. 14.

SERWIS KOMPUTEROWYPROGRAMY, INSTRUKCJE.COMMODORE, ATARI, SINCLAIR, AMSTRAD.Urządzenia peryferyjne02-383 Warszawa, Grójecka 128 tel. 46-39-96 D-117

D-119D-114 D-87

12

Page 28: Bajtek Redux 11/1986

28 BAJTEK 11/86http://www.reduksy.pl/

Naszym hobby od kilku lat jest wszyst-ko co wiąże się ze słowem „byte”.

Okazało się, że nie byliśmy na osiedlu wyjątkami, a dzieciaki na podwórku co-raz częściej obradowały, jak rozbro-ić „Night Gunnera”, a jak być nieśmier-telnym w „Knight Lore”. W konsekwen-cji we wrześniu ub. roku jako placów-ka Działu Społeczno-Wychowaw-czego SBM „Politechnika”, powstał Klub Mikro-komputerowy HOBBYTE.

Na początek dostaliśmy zestaw ze Spectrum Plus i drukarką GP-50S. Za-adaptowano też stosowne pomieszcze-nie ze starej suszarni. Dziś mamy 3 peł-ne zestawy Spectrum, prowadzimy zaję-cia 3 razy w tygodniu w 6-ciu kilkuosobo-wych grupach. Naszym celem obok po-pularyzacji jest nauczanie młodych pa-sjonatów nie tylko jak uniemożliwić po-stronnym wylistowanie swojego progra-mu, ale też jak np. rozwiązać układ n równań liniowych. Program na ten te-mat, publikowany w tym numerze po-wstał na klubowych zajęciach.

Staramy się, by zaawansowanie uczestnika nie szło w kierunku progra-mowania w asemblerze czy w kodzie

maszynowym lecz raczej, jak to się mą-drze nazywa, w kierunku metod nume-rycznych.

Uczestnictwo w zajęciach jest od-płatne, ale po każdych następują 2 godz. tzw. otwarte — wszyscy zaintere-sowani mogą przyjść, poradzić się, czy też w coś zagrać. Jesteśmy zaintereso-wani wszelką wymianą doświadczeń, pomysłów, informacji ze wskazaniem na oprogramowanie i praktycz ne wykorzy-stanie mikrokomputerów.

Siedziba Klubu: Warszawa, ul. Ma-lawskiego 7, XI p. (piątek, sobota).

Filia: Warszawa, ul. Chodkiewicza 4, przyziemie (piątek).

Adres do korespondencji:SBM „Politechnika”ul. Etiudy Rewolucyjnej 4802-643 Warszawa,Dział Społeczno-Wychowawczy„HOBBYTE”tel.48-54-11 wewn. 61.

Krzysztof Herman (instruktor)

SAMI O SOBIE

HOBBYTE

Te zapowiedź zna już część słuchaczy programu IV Polskiego Radia. Poprze-dza ona emisję programów komputerowych w nadawa-nej od 1 lipca br. audycji pt. Rozgłośni Harcerskiej pt. „RADIOKOMPUTER”.

Już dwa lata temu, w wyniku rosnące-go zainteresowania słuchaczy mikrokom-puterami i problemami związanymi z in-formatyką, zacząłem emitować programy komputerowe w czwartkowym magazy-nie naukowo-technicznym Rozgłośni Har-cerskiej.

Po pierwszych emisjach okazało się, że programy odbierane na zwykłych od-biornikach radiowych z zakresem fal UKF, nagrywane na magnetofon, wczytują się poprawnie do komputerów (dokładnie ok. 70 proc). Pojawiło się więc nowe źródło oprogramowania dostępnego dla wszyst-kich chętnych w całej Polsce. Dodajmy — dostępnego ZA DARMO! Tego typu emi-sje, prowadzone przez Rozgłośnię Har-cerską, były pierwszymi w bloku państw socjalistycznych.

W odpowiedzi na prośby słuchaczy zainteresowanych tą formą wymiany do-świadczeń i oprogramowania, pod patro-natem Rozgłośni Harcerskiej powstał „RA-DIO-KOMPUTER”. Do współpracy zapro-siłem Krzysztofa Surgowta i Piotra Ty-mochowi-cza, autorów telewizyjnej audy-cji „Hallo — Komputer”. Chcemy pokazać komputer, jako narzędzie pomocne w pra-cy, nauce i domu. Dlatego w RADIOKOM-PUTERZE emitowane są programy edu-kacyjne i użytkowe (IQ TEST, Beta Basic 3.0, The Artist, Poltasword, Matematyka, mikroProlog i in.), będące ripostą na falę gier telewizyjno-komputerowych.

Naszym zamierzeniem jest również stymulowanie aktywności młodych ludzi do tworzenia nowych wartościowych pro-gramów. Temu zadaniu podporządkowa-ne są ogłaszane w RADIOKOMPUTERZE konkursy. Przykładem jest wrześniowy konkurs na najciekawszy, użytkowy pro-gram autorski, w którym nagrodą był pro-fesjonalny komputer LASER 700.

Na tym jeszcze nie koniec! RADIO-KOMPUTER to także porady, oryginalne pomysły i najnowsze informacje ze świa-ta informatyki. RADIOKOMPUTER czeka na dalsze sugestie słuchaczy co do formy I treści audycji.

W wielu listach pojawiają się proble-my związane z nagrywaniem emitowa-

nych przez radio programów i ich wczyty-waniem do komputerów. Korzystając więc z łamów „BAJTKA” chciałbym podać na-szym słuchaczom kilka rad:

• Jako nośniki pamięci zewnętrznej taśmowej należy stosować kasety typu Compact z taśmą żelazową (Fr.). Taśma nie może być pogięta i starta. Nie zale-cam stosowania taśm produkcji polskiej (Stilon).

• Programy powinny być zapisywane na magnetofonie monofonicznym. Jeże-li dysponujecie magnetofonem stereofo-nicznym nagrywać należy na oba kanały, ale odtwarzać już tylko z jednego. Nagry-wany sygnał można przesterować.

• Nagrywamy i odtwarzamy na tym sa-mym magnetofonie.

• Szczelina głowicy w magnetofonie musi być prostopadła do kierunku przesu-wu taśmy magnetycznej w kasecie. Skos głowicy można ustawić wykorzystując ta-kie programy jak „Tape Head”, „Tapper”.

• Głowica nagrywająco-odtwarzająca powinna być czysta. Głowicę zabrudzoną drobinami warstwy czynnej taśmy magne-tycznej przemywamy bawełnianą szmatką lub watą nasączoną spirytusem (eterem).

• Wszelkie układy redukcji szumów (Dolby Nr, CNRS-2, DBX) muszą być wy-łączone.

• Sygnał radiowy powinien być czy-sty, pozbawiony szumów i przydźwięku (wskaźnik dostrojenia max). Konieczne jest zainstalowanie odbiorczej anteny ze-wnętrznej, najlepiej dipolowej. Wskazane jest uziemienie odbiornika radiowego.

• Wszystkie kable łączące radio-mag-netofon-komputer muszą być ekranowa-ne.

• Barwa głosu wpływa na poprawność wczytywania programów do komputera. W przypadku wystąpienia kłopotów nale-ży magnetofon podłączyć do wzmacnia-cza mocy. Wykorzystując wyjście głośni-kowe oraz regulując barwę głosu (podbi-cie, obcięcie wysokich lub niskich tonów) można zlikwidować kłopoty występujące przy wczytywaniu programów (oczywiście przy spełnieniu innych wymaganych wa-runków).

• Na czas trwania emisji należy wyłą-czyć w domu niepotrzebne urządzenia elektryczne (odkurzacz, pralka, zapalnicz-ka do gazu).

Przypominamy: RADIOKOMPUTER to audycja nadawana w każdy piątek, o go-dzinie 16.00, program IV, Polskie Radio.

Nasz adres: Rozgłośnia Harcerska 00-950 Warszawa, ul. M. Konopnickiej 6, dopisek „RADIOKOMPUTER”.

Tomasz Jordan, lat 28 absolwent PW

W poprzednim numerze nasza redakcja ogłosiła współzawodnictwo klubów mikrokom-puterowych O ZŁOTĄ DYSKIETKĘ „BAJTKA”. Konkurs będzie okazją do wymiany doświad-czeń w organizowaniu ruchu popularyzujące-go informatykę. Nie stawiamy żadnych ogra-niczeń, zapraszamy wszystkie kluby, także I te nieformalne. Za miesiąc opublikujemy ku-pon zgłoszenia do konkursu.

Bajtek

KONKURSO ZŁOTĄ DYSKIETKĘ

„BAJTKA”

RADIOKOMPUTER

Z inicjatywy Przedsiębiorstwa Zagra-nicznego Karen i Ośrodka Doskonalenia Kadr Technicznych RS NOT zostało utwo-rzone Studium-Forum Mikrokomputero-we Atari.

Podstawowym celem działania Fo-rum jest organizowanie i udzielanie po-mocy szkoleniowej i informacyjnej użyt-kownikom mikrokomputerów Atari w za-kresie sprzętu, oprogramowania i zasto-sowań.

Dla osiągnięcia tych celów Forum or-ganizuje pokazy, seminaria tematyczne, kursy oraz inne formy szkoleniowe, pro-wadzi bibliotekę poradników, dokumenta-cji i publikacji dotyczących mikrokompute-rów Atari, prowadzi i udostępnia uczestni-kom bibliotekę niezastrzeżo-nych progra-mów i pakietów standardowych.

Jako pierwszy uruchomiony został kurs „Podstaw programowania w języku BASIC”.

Przed ofi cjalnym rozpoczęciem dzia-łalności Forum zostały zorganizowane w miesiącach czerwiec — lipiec semina-ria tematyczne poświęcone zapoznaniu ze sprzętem i oprogramowaniem.

Wydaliśmy również dla potrzeb szko-leniowych poradnik pod redakcją Wiesła-wa Miguta pt. „ATARI — BASIC. Język programowania i obsługa mikrokompute-rów Atari”.

Efektem naszych dotychczasowych działań są również dwa programy: „Turbo

- Copier 3/4” oraz CCD (program kopiują-cy w relacji kaseta — dysk).

Uczestnictwo w działalności Forum może mieć charakter stały lub tylko zwią-zany z konkretnym przedsięwzięciem (tzn. udział w seminarium, kursie itp.).

Uczestnictwo o stałym charakterze po-wstaje poprzez złożenie deklaracji, oraz opłacenie składki członkowskiej (za okres półroczny). Uczestnicy mogą korzystać ze stałego punktu konsultacyjnego, brać udział w organizowanych formach wymia-ny oprogramowania i literatury.

Deklarując przystąpienie do Forum każdy uczestnik przyjmuje na siebie zo-bowiązanie, że w ramach Forum nie bę-dzie prowadził jakiejkolwiek działalności handlowej.

Inną formą działalności Ośrodka Do-skonalenia Kadr Technicznych RS NOT w obszarze zastosowań mikrokompute-rów jest Koło Użytkowników Mikrokom-puterów Profesjonalnych. Koło to zrze-sza jednostki gospodarcze będące użyt-kownikami mikrokomputerów typu profe-sjonalnego.

Siedzibą Forum Mikrokomputerowe-go Atari oraz Koła Użytkowników Mikro-komputerów Profesjonalnych jest Ośro-dek Doskonalenia Kadr Technicznych RS NOT w Warszawie, ul. Przemyska 11a, te-lefon: 22-23-31 lub 22-77-23.

Robert Kamiński

FORUM ATARI

Uwaga ... Start!!!

Page 29: Bajtek Redux 11/1986

29BAJTEK 11/86http://www.reduksy.pl/

Mateusz Bartosik lat 14, adres: ul. Koście lna 10/2, 46-081 Dobrzeń Wielki (woj. opol-skie). Mam: komputer VG Philips (MSX) Moje zainteresowania to: informatyka, matematy-ka, numizmatyka.Dariusz Filonowicz lat 17, ul. Monopolowa 8/53, 15-202 Białystok. Amstrad 6128. Infor-matyka, elektronika, motoryzacja, muzyka, sport, biotechnologie, technologie lotnicze i kosmiczne.Tomasz Stańczyk lat 23, ul. Kościuszki 79/7, 50-442 Wrocław. Commodore C-128 D. Infor-matyka, sport, teatr, muzyka, język angielski, i jeszcze trochę.Jacek Matuszczyk lat 23. ul. Darłowska 5A/15, 04-091 Warszawa, ZX Spectrum 48K. Krótkofalarstwo, fotografi ka, elektronika, in-formatyka, chemia.Michał Jóźwiak lat 23, ul. Bandurskiego 216, 14-200 Iława. Sharp MZ-721. Informaty-ka (grać też lubię!).Waldemar Strążyński lat 15, ul. Powstań ców Wlkp. 3/2, 64-360 Zbąszki (woj. zielo nogórskie). Sinclaire ZX 81 64K. Informaty-ka, systemy komputerowe. Marek Horski lat 25, ul. Chorzowska 17/ 19, 44-100 Gliwice. Atari 130 XE. Kompute-ry i software, technika video, żeglarstwo mu-zyka rozrywkowa.Zbigniew Kowalczyk lat 35, ul. Gagarina 1/10, 93-530 Łódź. Video Genie System EG 3003. Hardware i software. Sebastian Koszański lat 14, ul. Jaskrowa 18/1, Łódź. Commodore 64. Informatyka ma-tematyka, gry.Krzysztof Wilk lat 30, ul. Iwaszkiewicza 6/ 27, 39-100 Ropczyce (woj. Rzeszów) Com-modore C-16. Elektronika, informatyka.Jan Lis lat 26, ul. Dźbowska 12, 42-200 Czę-stochowa. TI-99/4A. Układy elektroniczne (cyfrowe), technika mikrokomputerowa.Mariusz Gorczyca lat 28, ul. Mielczarskie-go 32, 97-400 Bełchatów. ZX Spectrum +. Sport samochodowy, komputery, książki z serii „Sensacje XX wieku”. Andrzej Dudzicz lat 29, ul. Dzierżyńskie-go 20A/4, 78-200 Białogard (woj. koszaliń-skie). Commodore 116, Meritum II, magneto-fon 1531. Elektronika, muzyka elektroniczna.Andrzej Wojda lat 18, ul. Cyranowska 11 A, 39-300 Mielec. Atari 800 XL. Informatyka, elektronika.Marcin Karasiński lat 17, ul. Wyzwolenia 16/1, 41-907 Bytom. Colour Genie EG 2000, stacja dyskietek 51/4. Informatyka, elektroni-ka, żeglarstwo, narciarstwo. Bartosz Walaszek lat 13, ul. Wita Stwo-sza 16/1, Gdańsk-Oliwa. ZX-81. Komputery, astronomia.Zenon Jackowiak lat 56, ul. H. Pobożnego 9/7, 70-508 Szczecin. Commodore VIC-20. Krótkofalarstwo.Mariusz Kaleta lat 22, ul. Czarnowiejska 75/17, 30-049 Kraków, Colour Genie EG 2000 16 K RAM. Elektronika, elektroakusty-ka, informatyka.Tomasz Ziegler lat 13, ul. Sienkiewicza 29/5, 45-037 Opole. Schneider 464. Oprogramo-wanie i gry komputerowe. Mirosław Stefański lat 38, ul. Krakowska 13/3, 63-510 Mikstat (woj. kaliskie). Commo-dore 64. Hardware (rozbudowa posiadane-go sprzętu), software (zastosowania profe-sjonalne).Sebastian Caputa lat 13, ul. Rydygiera 20e/72, Toruń. Commodore 64. Komputery, informatyka, języki obce. Ewa Pawłowicz, ul. Dekerta 3/3, 80-262 Gdańsk. CGL-M5 HOME COMP. oraz ZX 81 (16K). Informatyka, turystyka, muzyka, kino, teatr, literatura, mikrokomputery, języki pro-gramowania.Tomasz Szefner lat 14, os. Lecha 16/55, 61 -293 Poznań. ZX 81 (Timex Sinclair, 2K). In-formatyka, sport, historia.

Drogi Bajtku!Na listy czytelników odpowiada Marcin Waligórski

Czy pomożecie mi w poznaniu moje-go ZX-81 + 16 k? w jaki sposób zrealizo-wać data i read? co oznaczają, i jak moż-na użyć FAST i SLOW jak zapisać na zx-81 poniższy fragment programu:

10 REM Wyścigi psow20 REM =========30 DATA 4,6,132,252,124,202,169,16940 REM Defi nicja znaku grafi cznego50 FOR n = 0 TO 760 READ bajt70 POKE USR „B” + n, bajt 80 NEXT n Cezary Sadek

ul. Derdowskiego 22/2171–087 Szczecin

BASIC komputera ZX-81 nie jest w ogó-le wyposażony w instrukcje READ i RE-STORE oraz w możliwość tworzenia zbio-rów danych przy pomocy DATA. Z regu-ły struktury te używane są w programie w celu nadania wartości początkowych pewnym zmiennym, bądź też np. umiesz-czenia w pamięci komputera pewnych cią-gów danych (jak w podanym powyżej przy-kładzie). Najprostszym i często niezado-walającym sposobem zastąpienia struktu-ry używającej instrukcji DATA i READ jest w powyższych przypadkach dokonanie przypisań przy użyciu ciągu instrukcji pod-stawienia (LET) oraz umieszczanie cią-gów bajtów w pamięci poprzez bezpośred-nie użycie ciągu instrukcji POKE. Na przy-kład podany fragment programu możemy zapisać jako:

10 REM a0 — adres początkowy ciągu20 LET a0 = ....30 POKE a0,4 POKE a0 t 1,640 POKE a0 + 2,132: POKE a0 + 3,25250 POKE a0 + 4,124: POKE a0 + 5,202 60 POKE a0 + 6,169: POKE a0 + 7,169 Widzimy, że rozwiązanie takie jest

mniej wygodne w użyciu i zwiększa obję-tość programu.

BASIC komputera ZX-81 nie przewi-duje możliwości defi niowania znaków gra-fi cznych spoza ich standardowego zbioru. Z tego powodu nie jest dostępny na tym komputerze tryb defi niowania własnych znaków podobny jak w Spectrum. Przeło-żenie przytoczonego w liście programiku tak, aby uzyskać analogiczny efekt, wyma-ga więc zastosowania bardziej złożonych metod.

ZX-81 posiada możliwość programo-wego wyboru trybu pracy. Tryb FAST po-

zwala na przyspieszenie wykonywania ob-liczeń poprzez wygaszenie ekranu. Użycie SLOW przywraca sytuację standardową.

Jestem zainteresowany możliwościa-mi wykorzystania ZX Spectrum 48 w łącz-nościach krótkofalarskich. zainteresowany jestem m.in. programami przeistaczający-mi spectrum w klawiaturę nadawczą mor-se’a...

Dariusz Toruń ul. Związku Walki Młodych 6/41

02-786 Warszawa

W tym przypadku sprawa jest prosta ZX Spectrum, pomimo wyposażenia w prymi-tywny — niestety — generator akustycz-ny daje się z powodzeniem zastosować do wymienionego celu. Co więcej, napisa-nie programu w BASIC-u przekładające-go ciąg znaków alfanumerycznych na ciąg dźwięków w alfabecie Morse’a nie jest za-daniem trudnym nawet dla początkującego programisty. Nie uzyskamy jednak w ten sposób dużej szybkości transmisji tekstu — spowodowane to jest powolnym dzia-łaniem interpretera języka BASIC. Gdyby uzyskana prędkość okazała się w prakty-ce niewystarczająca, należy do napisania takiego programu użyć jednego z języków kompilowanych (na Spectrum mamy np. Pascal) lub kodu maszynowego.

Sądzę, że program tego typu wraz z możliwością podłączenia wzmacnia-cza częstotliwości akustycznych stanowić może pomoc w pracy krótkofalarza.

Znacznie trudniejszym zadaniem było-by napisanie programu umożliwiającego odbiór sygnałów alfabetu Morse’a i przed-stawienie go na ekranie monitora w posta-ci tekstu. Do rozważenia tego problemu potrzeba kilku dodatkowych założeń, np. o częstotliwości odbieranego dźwięku.

Czytałem gdzieś o możliwościach uzy-skania 22 kolorów na Spectrum. Niestety, nie doczytałem się, w jaki sposób można tego dokonać (przeglądałem jedynie po-życzoną książkę). Sam jestem widocznie zbyt słabym jeszcze programistą. Jak moż-na otrzymać te kolory?

Jacek Kieniewicz (adres do wiadomości redakcji)

Owszem, możliwość taka istnieje, tyle że ... polega nie na faktycznej możliwości uzyskania więcej niż 8 kolorów, lecz na nie-skomplikowanym tricku. Możliwość ta jest też opisana w instrukcji użytkownika Spec-trum. Defi niujemy mianowicie pewien znak

grafi czny (np. GRAPHICS A) jako siat-kę punktów ciemnych i jasnych. Kolor „tła” i „druku” możemy dobierać dowolnie (w za-kresie 0..7 !) dla każdego pola znakowe-go. Np. wybór pary 0 (czarny) i 2 (czerwo-ny) spowoduje, że wydrukowany na ekra-nie nasz znak sprawi wrażenie prostokąta o kolorze brązowym.

Oczywiście użycie tego rozwiązania nie pozwala na użycie wysokiej rozdzielczości, czy nawet pisanie tekstu w owych 22 ko-lorach.

Marcin

W numerze 5-6 z br. został za-mieszczony fantastyczny program na ZX Dpectrum pt. „Numeryczna metoda znajdowania wartości pier-wiastków funkcji”. W trakcie wpisy-wania poszczególnych wierszy nie udaje mi się wpisać następujących pozycji.

370 LET xmax=MEM(x max,x(u))

380 LET ymax=MEM(y max,y(u))

Zbigniew Czechowski ul. Engelsa 8/1 59-

220 Legnica

Niestety podczas listowania programu na

drukarce nastąpił nie zauważony przeze mnie

błąd, za co serdecznie przepraszam. Właści-

wa postać wierszy 370 i 380 jest

następująca:

370 LET xmax = FN M(xmax , x(n)) 380

LET ymax = FN M(ymax , y (n))

Tomasz Kostrzyński

Jestem posiadaczem mało znanego w Polsce mikrokomputera THOMSON MO5E.

Na razie nie posiadam żadnego opro-gramowania fi rmowego ani literatury, a programy pisane w BASICU-u nie za-dowalają mnie ze względu na ich powol-ność. Chciałbym sią dowiedzieć, czy jest może dostępna w Polsce literatura i opro-gramowanie na ten mikrokomputer.

Pragnąłbym też zdobyć informacje o mikroprocesorze 63809 E, który jest jednostką centralną w tym mikrokom-puterze.

Andrzej Foik ul. Przodowników Pracy 90/2

47-223 Kędzierzyn-Koźle 5

KLANNIETYPOWYCH

I NDYWIDUALNYB ANKD ANYCH

SPRZĘŻENIE ZWROTNE

Page 30: Bajtek Redux 11/1986

30 BAJTEK 11/86http://www.reduksy.pl/

GIEŁDA (ceny na dzień 1986-10-05)GIEŁDA BAJTKA (tys. zl)

KOMIS (tys. zl)

AUSTRIA (średnie)

(öS)

FRAN-CJA

(średnie) (FF)

RFN (średnie)

(DM)

WLK. BRYT

(średnie) (£)

SIN

CLA

IR

ZX81 25–35 – 600 – 75–90 –

ZX Spectrum 48 kB 70–85 95 1600 – 150–250 45–65

ZX Spectrum Plus 100–115 140–160 1790 1350 200–300 70–90

ZX Spectrum 128 kB 190 – – 2200 500–530 150

Drukarka SEIKOSHA GP50S

70–90 110 – – 260 60–65

Interface Kempston 5–13 20 250 300 35 7–9

Stacja dyskietek OPUS 1 (3,5’’) 150 – 500 – 395 95–105

CO

MM

OD

OR

E

C–64 140–150 160–160 3600 1900 370–510 90–110

C–128 265–310 430 6900 2890 650–700 210–230

C–128D 600 – 13900 6850 1250 390–410

Magnetofon 1531 30–35 40 900 350 80–90 –

Stacja dyskietek 1541 155–170 200 4690 1950 470 110–150

Stacja dyskietek 1570 – 300 6900 2300 490–540 160–170

Drukarka MPS 801 120–130 150 2900 2200 199 –

Drukarka MPS 803 160 200 – 2800 300–330 140–150

Dyskietki 51/4 (średnia jak.) 0.7–1.5 1–2 16–25 7 0.9–0.4 0.8–2

ATA

RI

800 XL 65–80 90–100 1500 900 140–180 60

130 XE 130–140 190 2100 1400 360 150

Stacja dyskietek 1050 130–140 160–200 2200 2150 395 130

Magnetofon 25–30 30–35 800 – 75–85 20

Drukarka 1029 160 200 1990 – – 85

AM

ST

RA

D

464 z mon. monochromat. 195-210 300 6500 2690 598–720 170–190

464 z monitorem kolor. 290 350–400 10000 3990 1100-1200 260–268

6128 z mon. monochromat. 350–390 700–800 13000 3990 1450-1500 250–260

6128 z mon. kolor. 485 1 mln 17000 5290 1900–2000 340–350

PCW 8256 – 1.3 mln – 5920 1795 380–400

Dyskietki 3” 3–5 6 – 35 10–15 3.5–4

Stacja dyskietek 3'' do 464 210 295 6000 260 700 140

Cześć Maluchy!Znamy się dość długo i myślę że już

najwyższy czas spróbować jak dacie so-bie radę z nieco trudniejszym zadaniem. Wszystkie dotychczasowe programy pi-sane były tak, by bez większych zmian mogły działać na każdym mikrokompu-terze. Tym razem jest inaczej. Żeby uru-chomić wasz program będziecie musieli nieźle ruszyć głową.

Mogłoby się wydawać, że w dobie łączności sate-litarnej i komputerów, wielki wynalazek pana Morse-'a, jego słynny alfabet, powinien trafi ć do lamusa. Oka-zuje się jednak, że nie nastąpi to tak prędko. Zasadę zna każde dziecko — grupy krótkich i długich sygnałów dźwiękowych zastępują litery. Kłopot tylko w tym, żeby nauczyć się rozumieć ten ciąg pisków.

Nasz program służy właśnie do tego. Uczeń może wybrać sobie jedną z pięciu prędkości nadawania. Może również skorzystać ze ściągawki w postaci grafi cznego przedstawienia sygnałów (kropki i kreski) lub z niej zre-zygnować. Komputer nadaje kolejno pięć losowo wybra-nych słów. Po każdym słowie zaczyna odliczać czas. Te-raz odpytywany musi możliwie najszybciej napisać od-czytane słowo i na koniec nacisnąć klucz spacji. Czasy poszczególnych odpowiedzi są sumowane, oczywiście za każdym razem komputer sprawdza prawidłowość od-powiedzi i wysyła na ekran odpowiedni komunikat. Za każdy błąd dolicza umowną ilość sekund. Po pięciu pró-bach następuje obliczenie punktów karnych i wydruk końcowego wyniku na ekranie. Egzamin skończony.

Popatrzmy jak działa nasz program. W linii 100 de-klarujemy tablicę alfabet$ (37,1), w której umieścimy alfabety: łaciński i Morse'a. I tu pierwsza uwaga dla użytkowników Spectrum. Waszą tablicę musicie ozna-czyć jedną literą (nie licząc znaku $). Wszystkie zmien-ne tekstowe — oznaczone zna kiem $ — występują-ce w programie musicie również zamienić na jednoli-terowe. Uważajcie przy tym, by różnych zmiennych nie oznaczyć tą samą literą. Wczytywanie liter alfabetów odbywa się w pętlach (110-150).

99 REM **** zapamietanie alfabetow ****100 DIM alfabet$(37,1) 110 FOR i=0 TO 1120 FOR j=1 TO 37130 READ alfabet$(j,i)140 NEXT j 150 NEXT i499 REM **** obliczenie liczby slow ****500 LET liczbaslow=0 510 RESTORE 6030 520 READ slowo$530 IF slowo$="koniec" THEN GOTO 1000 540 LET liczbaslow=liczbaslow+1 550 GOTO 520999 REM *** wybor stopnia trudnoci ***1000 CLS1010 LET dlugpisku=01020 PRINT1030 INPUT "stopien trudnosci (1/2/3/4/5 )";stopien1040 IF stopien=1 THEN LET dlugpisku=15 1050 IF stopien=2 THEN LET dlugpisku=12 1060 IF stopien=3 THEN LET dlugpisku=9 1070 IF stopien=4 THEN LET dlugoisku=6 1080 IF stopien=5 THEN LET dlugpisku=31090 IF dlugpisku=0 THEN GOTO 1020 1100 LET ekran=01110 INPUT "znaki na ekranie (t/n)";odp$

Page 31: Bajtek Redux 11/1986

31BAJTEK 11/86http://www.reduksy.pl/

KUBUŚ TELEGRAFISTATYLKO DLA PRZEDSZKOLAKÓW

W następnej kolejności komputer sprawdza iloma słowami do losowania dysponuje. Oczywiście mogli-byśmy mu podać tę liczbę sami, lecz trzeba by wów-czas pamiętać o jej zmianie po każdym uzupełnie-niu danych. A tak wystarczy dopisać w dowolnej linii o numerze od 6030 do 6999 nowe słowa po instrukcji DATA i o resztę martwi się już sam komputer.

Możemy teraz przejść do właściwej części nasze-go programu czyli testu (1500-1960). Na początek lo-sowany jest numer słowa (1550). Ponieważ instruk-cje generujące liczby losowe mają w różnych mikro-komputerach różne konstrukcje, musicie zastosować właściwą dla waszego. Zmienna numerslowa powin-na przyjmować wartości od 1 do wcześniej obliczonej liczby słów (zmienna liczbaslow).

Wylosowane słowo należy teraz odczytać i podsta-wić pod zmienną slowo$. W tym celu za pomocą in-strukcji RESTORE 6030 w linii 1580 ustawiamy począ-tek odczytywania (READ) od tej właśnie linii. W pętli od 1 do numeru słowa podstawiamy kolejno wszystkie dane pod zmienną slowo$. Jej ostatnia wartość będzie wylosowanym słowem.

Każde słowo musimy podzielić na litery. Konstruk-cja w linii 1640 powoduje podstawienie pod zmienną li-teraslowa$ j-tej litery słowa. Spectrum nie posiada nie-stety instrukcji MID, ma za to podobnie działającą in-strukcję TO.

Pętla 1650-1730 to wyszukiwanie danej litery w al-fabecie Morse’a (1660), wyświetlenie odpowiedniego znaku na ekranie (1670) jeśli oczywiście ta opcja zo-stała wcześniej wybrana, podział znaku Morse’a na kreski i kropki (1690) tak samo jak w przypadku sło-wa, oraz odesłanie do odpowiednich podprogramów dźwiękowych — kreska i kropka (1700 i 1710). Po zakończeniu tej pętli wywoływany jest podprogram przerwy dźwiękowej.

Po nadaniu i ewentualnie wyświetleniu na ekranie całego słowa komputer przechodzi w stan oczekiwa-nia na odpowiedź (1810-1870) równocześnie mierząc

jej czas (1820). Odczytywanie klawiatury odbywa się za pomocą instrukcji INKEY$ (1810). W Commodore należy zastosować GET.

Koniec odpowiedzi sygnalizujemy naciskając kla-wisz spacji. Teraz następuje ocena odpowiedzi (1900-1910). Jeśli został popełniony błąd, komputer za karę dolicza czas (1950).

Test kończy się po nadaniu pięciu słów. Na pod-stawie czasu odpowiedzi obliczana jest liczba karnych punktów (2010 i 2020). Na koniec drukowany jest ko-munikat i pytanie, czy gramy ponownie (2000-2070).

Warto jeszcze napisać kilka słów o podprogramach dźwiękowych. Podstawą określenia długości dźwięku jest wybrana na początku programu dlugpisku, czyli długość brzmienia kropki. Kreska jest trzykrotnie dłuż-sza. Przerwa pomiędzy poszczególnymi kreskami i kropkami powinna wynosić w literze tyle co kropka a pomiędzy literami tyle co kreska. Teraz więc mo-żemy wyjaśnić działanie poszczególnych podprogra-mów:

KRESKA — pisk o długości 3*dlugpisku i cisza 1*dlugpisku.

KROPKA — pisk o długości 1*dlugpisku i cisza 1*dlugpisku.

PRZERWA — cisza o długości 3*dlugpisku.Uwaga dla posiadaczy komputerów, w których

dźwięk jest generowany niezależnie od wykonywa-nego programu (Commodore, Amstrad, Atari). War-to wprowadzić mechanizm, który będzie zatrzymywał program na okres wybrzmiewania dźwięku.

Niektórzy z was zapewne domyślili się, że prezen-towana wersja tego programu została napisana na mi-krokomputerze Amstrad. Tak więc tylko posiadacze tych komputerów mogą „wklepać” ten program bez żadnych zmian. Pozostali muszą trochę popracować ale będą mieli okazję nauczyć się kilku nowych rzeczy. Myślę, że się opłaci!

Romek

KONKURS

“MIKRUSEK”Ogłaszamy wielki konkurs na najlep-

szy program napisany przez dzieci — “MIKRUSEK”. Do udziału zapraszamy wszystkie dzieci do lat 12 — nagrodą jest NIESPODZIANKA!!!

A oto warunki konkursu:Program powinien być ułożony na jeden

z następujących komputerów: COMMODORE, ATARI, AMSTRAD, SPECTRUM. Wydruk programu powinien być wykonany w miarę możliwości na drukarce; jeżeli jest to niemożliwe prosimy o nadsyłanie wyraźnych, bardzo starannie przepisanych, najlepiej na kartce papieru w kratkę. “BAJTEK” nie stawia wymogów tematycznych dla “MIKRUSKA” — mogą to być gry, programy użytkowe, czy edukacyjne. Punk-towane będa: poprawność i czytelność programu, zastosowanie i przydatność oraz zwięzłość (nie doty-czy komentarzy REM!) ale przede wszystkim pomysł. Najlepsze programy otrzymują nagrody oraz zostanę wydrukowane w “BAJTKU”.

Termin nadsyłania programów konkursowych mija 1 LUTEG0 1987 ROKU.

1120 IF odp$="t" THEN LET ekran=11499 REM ************ test ************1500 LET czas=0 1510 FOR i=1 TO 51520 FOR t=1 TO 10001530 NEXT t1540 CLS1550 LET numerslowa=INT(RND(1)*liczbaslow+1)1560 RESTORE 60301570 PRINT1580 PRINT1590 FOR j=1 TO numerslowa1600 READ slowo$1610 NEXT j1620 IF ekran=1 THEN PRINT "/";1630 FOR j=1 TO LEN(slowo$)1640 LET literaslowa$=MID$(slowo$,j,1)1650 FOR k=1 TO 371660 IF alfabet$(k,0)<>literaslowa$ THEN GOTO 17301670 IF ekran=1 THEN PRINT alfabet$(k,1); " /";1680 FOR l=1 TO LEN(alfabet$(k,1))1690 LET pisk$=MID$(alfabet$(k,1),1,1)1700 IF pisk$="-" THEN GOSUB 50001710 IF pisk$="." THEN GOSUB 51001720 NEXT l1730 NEXT k1740 GOSUB 52001750 NEXT j1760 LET odczyt$=""1770 PRINT1780 PRINT1790 PRINT "???????????????????"1800 PRINT

1810 LET literaodczyt$=INKEY$1820 LET czas=czas+11830 IF literaodczyt$="" THEN 18101840 IF literaodczyt$=" " THEN 18801850 PRINT literaodczyt$;1860 LET odczyt$=odczyt$+literaodczyt$1870 GOTO 18101880 PRINT1890 PRINT1900 IF odczyt$=slowo$ THEN PRINT "brawo!"1910 IF odczyt$<>slowo$ THEN GOTO 19301920 GOTO 19601930 PRINT "blad!"1940 PRINT slowo$1950 LET czas=czas+50001960 NEXT i1999 REM ******* zakonczenie gry *******2000 PRINT2010 LET pkt=INT(czas/100)-20 2020 IF pkt<0 THEN LET pkt=0 2030 PRINT pkt; " pkt. karnych." 2040 PRINT2050 INPUT "jeszcze raz";odp$ 2060 IF odp$<>"nie" THEN GOTO 1000 2070 END4997 REM4998 REM ********* podprogramy *********4999 REM *********** kreska ***********5000 SOUND 1,50.3*dlugpisku,15 5010 SOUND 1,0,dlugpisku,05020 IF SQ(1)>=128 THEN GOTO 5020

5030 RETURN

5099 REM *********** kropka

***********

5100 SOUND l,50,dlugpisku,15

5110 SOUND l,0,dlugpisku,0

5120 IF SQ(1)>=128 THEN GOTO 5120

5130 RETURN

5199 REM *********** przerwa

***********

5200 SOUND 1,0,3*dlugpisku,0

5210 IF SQ(1)>=128 THEN GOTO 5210

5220 RETURN

5998 REM

5999 REM ************ dane

************

6000 DATA a,b,c,ch,d,e,f,g,h,i,

j,k,l,,m,n,o,p,r,s,t,u,v,w,x,y

,z,1,2,3,4,5,6,7,8, 9,0

6010 DATA . _ , _ . . . , _ . _ . ,

_ _ _ _ , _ . . , . , . . _ . , _ _

. , . . . . , . . , . _ _ _ , _ . _

, . _ . . , _ _ , _ . ,

_ _ _ , . _ _ . , _ _ . _ , . _ . ,

. . . , _ , . . _ , . . . _ , . _ _

, _ . . _

6020 DATA _ . _ _ , _ _ . . , . _

_ _ _ , . . _ _ _ , . . . _ _ , . .

. . _ , . . . . . , _ . . . . , _ _

. . . , _ _ _ . . , _ _ _

_ . , _ _ _ _ _

6030 DATA bajtek,kuba,komputer,kocz

kodan,list,litera,telegraf,rzeka,dr

zewo,krokodyl

7000 DATA koniec

Page 32: Bajtek Redux 11/1986

32 BAJTEK 11/86http://www.reduksy.pl/

SĄ niesłychanie praktyczne. Nie miewają humorów, nie

potrzebują modnych strojów, są bardzo, bardzo atrakcyjne, a posila-ją się jedynie kanadyjskim prądem o napięciu 110V.

Takich elektronicznych hostess, które wspa-niale opiekują się gośćmi wystawy światowej EXPO-86 w Vancouver. odpowiedzą niemalże na każde ich pytanie dotyczące pawilonów, atrakcji, cen czy wolnych miejsc hotelowych, światowy po-tentat komputerowy f- koncern IBM ustawił na 70 ekspozycyjnych hektarach aż 100. Całość jest na bieżąco programowana, bo przecież w dziennych schematach imprez na EXPO zachodzą zmiany, ale tego przeciętny widz, który nabył całodzien-ny bilet za 20 dolarów i teraz zatrzymał się przed zachęcająco mrugającym ekranem już nie zoba-czy. Ma bowiem do czynienia z końcowym ele-mentem systemu.

KOMPUTERY, KOMPUTERY I ZEGAREKDo infokiosków IBM trudno się dopchać.

Każdy chce się przecież przekonać, jak bardzo zmyślna jest ta wizytówka elektronicznego gigan-ta, tym bardziej, iż zabawa jest zupełnie bezpłat-na.

Ciekaw jestem, jak wyglądałyby klawiatury, do których przyzwyczailiśmy się w Polsce, pod ko-niec wystawy (EXPO-86 trwa 165 dni — od 2 maja do 13 października), po katuszach tylu mi-lionów palców (szacuje się, że wystawę odwiedzi około 20 milionów ludzi). Zamiast tego wszystkie-go dzieci i dorośli porozumiewają się z kompute-rową siecią informacyjną wystawy dotykając od-powiednio oznaczonych punktów na powierzchni kolorowego monitora.

W ten sposób wywołać można z pamięci ma-szyny krajobrazy 54 krajów uczestniczącychw wystawie, 7 kanadyjskich prowincji i 2 teryto-riów niezależnych oraz 3 amerykańskich stanów prezentujących się oddzielnie. To oczywiście tyl-ko niezmiernie drobny ułamek potężnych możli-wości systemu. Można bowiem zapytać, co dzia-ło się na EXPO na przykład 7 maja o 13.25 lub też, czego możemy oczekiwać 7 październi-ka o tej samej porze. Ba, są nawet uaktualniane cały czas spisy potraw podawanych w poszcze-

gólnych narodowych restauracjach wraz z cenni-kiem, czy też życiorysy szefów poszczególnych ekspozycji.

Trudno opowiedzieć o wszystkich elektronicz-nych cudeńkach, które zaparły dech waszemu autorowi, na pobieżne zwiedzanie EXPO-86 trze-ba bowiem przeznaczyć co najmniej trzy dni.

25-metrowy papuziożółty zegarek naręczny oplata pudło pawilonu szwajcarskiego. W branso-lecie okalającej dach umieszczono serce tej nie-zwykle przemyślanej maszynerii, która odmie-rza upływający czas z dokładnością nie spotyka-ną w zupełnie normalnych chronometrach. 25-me-trowa elektroniczna Omega może mieć, co najwy-żej, jednosekundową roczną tolerancję. „Wzorzec” cieknących sekund, minut i godzin przesyłany jest do Vancouver, nad brzeg Pacyfi ku ... ze Szwajca-rii poprzez ... satelitę. Kitka ogniw wielkiej bransole-ty, to nic innego jak precyzyjne anteny odbierające sygnał sputnika. O tym wszystkim można się prze-konać dopiero wewnątrz budynku. Na zewnątrz nic nie świadczy o tym, że jaskrawy szwajcarski gigant ma cały czas kontakt z kosmosem.

ZABAWKI DLA DUŻYCH DZIECI...Japończycy nie pokazują jeszcze komputerów

piątej generacji, z którymi można byłoby prze-prowadzić uczoną dysputę na tematy fi lozofi cz-ne w dowolnym języku, lecz własne rozwiąza-nia komunikacyjne w skali 1/100. Miniaturowe sa-

mochody, tramwaje, statki, pociągi zwykłe i su-perszybkie, a wreszcie samoloty podwieszone do dających im energię instalacji na czarnym jak smoła sufi cie — wszystko to porusza się w spo-sób harmonijny dzięki mikroprocesorom ukrytym gdzieś w czeluściach tego całego ciągu żyjących makiet. Ten gadget jest dla wszystkich. Specjali-ści poproszą o szczegóły, a wówczas otrzyma-ją wszystko na co Nippon stać, z możliwością rozmowy z komputerem wyładowanym do gra-nic możliwości danymi włącznie. W osobnym po-mieszczeniu, nazwijmy je bibliotecznym, pyszna skośnooka dziewczyna sadza ciekawego przy oddzielnym monitorze i wprowadza do sprzężo-nego z nim komputera odpowiedni dysk, czy też włączy kasetę video. Całego Kraju Wschodzące-go Słońca do Vancouver przewieźć się nie uda-ło, ale nie wiem, czy ktoś zdołałby w ciągu owych 165 dni zapoznać się ze wszystkim, co zostało zarejestrowane na dostępnych w pawilonie ja-pońskim nośnikach informacji.

... I NIE TYKO ZABAWKINa ubiegłorocznym salonie lotniczym w Pary-

żu Francuzi pokazali swoje najnowsze odrzuto-we dziecko — myśliwiec bombardujący „Rafale”. Absolutną nowością było całkowite wyeliminowa-nie z kabiny pilota wszelkich, tak typowych do tej pory, zegarowych wskaźników. Zastąpiły je ekrany pokładowych komputerów. Pilot będzie ostrzega-ny przed niebezpieczeństwami... ludzkim głosem i sam otrzymał możliwość wydawania już tylko ust-nie poleceń swojej maszynie. Republika Federal-na Niemiec pokazała w Vancouver, że podobne urządzenie nie musi koniecznie służyć Marsowi.

Co kilkadziesiąt minut w zachodniohiemiec-kim pawilonie odbywały się pokazy prowadze-nia Mercedesa 190E, wozu zupełnie bez kierow-nicy. Inwalida pozbawiony władz w górnych koń-czynach bez trudu poradzi sobie z tym samocho-dem. Nogi sterują układem kierowniczym, inne polecenia — wydane głosem — odbiera kompu-ter, a następnie przekształca je w impulsy przeka-zywane różnym układom pojazdu.

Na koniec dwie ciekawostki. Sporym za-skoczeniem dla Amerykanów, Kanadyjczyków, a i również dla piszącego te słowa był chińsk pro-fesjonalny komputer osobisty o barwnej nazwie „Wielki Mur”, z własną drukarką, kolorowym mo-nitorem i stacją dysków. Na oko, nie demonstro-wano go w akcji, nie odbiegał niczym od mode-li fi rm Apple, czy IBM. Niespor dzianką był rów-nież fakt, iż jugosłowiańska spółka ISKRA (od ża-rówek po mikroprocesory) eksportuje do ... Sta-nów Zjednoczonych swoje monitory komputero-we i inne elementy techniki mikroelektronicznej.

Wojciech Łuczak

NIE TYLKO KOMPUTERY

ELEKTRONICZNA HOSTESSA

(KORESPONDENCJA Z EXPO-86 W VANCUVER)

Page 33: Bajtek Redux 11/1986

1omoda 9

MAJ / MAY 2014 E-ZIN O C64 / E-ZINE ABOUT C64

omoda 9

Knight’n’Grail GhostbustersWywiad z Mikaelem Tillandarem

He-Man And The MastersOf The Universe: The Ilearth Stone

+ mapa Coverdisk - Slavia (nowa, polska

gra przygodowo-tekstowa)Guns’n’Ghosts Test Drive

Czytaj, bo warto....

LIPIEC 2014 numer 9 (2/2014)

COMMODORE & AMIGA

& fanffffffaaaaafffafaffannnngames

“Komoda” magazyn wielbicieli C64http://goo.gl/8ftCpn

“C&A Fan” magazyn AMIGA & C64http://goo.gl/XSUOn8

MIESIĘCZNY DODATEK DO „SZTANDARU MŁODYCH” NR 2/86 CENA 100 ZŁ

Z MIKRO-KOMPU-TEREM

NA TY2EK DO „SZTANDARU MŁODYCH”H”H”””””H”” NNNNR 2/86NN CENA 100 ZŁ

CZY MASZYNA

MOŻE MYŚLEĆ

str 3

NR 5–6/86 CENA 100ZŁ

NR INDEKSUPL ISSN 0860 – 1674

MIE

SIĘCZN

Y DODAT

EK DO „S

ZTANDARU M

ŁODYC

H”

FAIRLIGHT – gra roku!

5-6

1BAJTEK 1/86

MIESIĘCZNY DODATEK DO „SZTANDARU MŁODYCH” NR 1/86 CENA 100 ZŁ

Z MIKRO-KOMPU-TEREM

NA TY

MATURZYSTAPIERWSZY BYŁ

ABAKUS

NIE BÓJ SIĘ MNIETRZECIWYMIAR

KUBUŚLITERKA

CO

JE

ST

GR

AN

E

Z KOMPUTERA

PROLOG

LOGO

MIE

SIĘCZN

Y DODAT

EK DO „S

ZTANDARU M

ŁODYC

H”

3333----44444444DO „SZT

A

NR 3–4/86

NR INDEKSU PL ISSN 0860 – 1674

CENA 100 ZŁ

1986

1985

Z MIKROKOMPUTEREM NA TYZ MIKROKOMPUTEREM NA TY

NR 2 Cena 60 zł

PAŹDZIERNIK — 85

Steve WOZNIAK i jego Apple I

Algorytmy

Klawiatura ZX SPECTRUM

LOGO cd.

micro-PROLOG

DUN DARACH

Mikrokomputery na Węgrzech

Sekskomputer

Pióro świetlne

Z MIKROKOMPUTEREM NA TY

NR 3 Cena 60 złLISTOPAD — 85

Szanuj swój komputer

Dźwiękw MERITUM

Coś dla piratów

Micro–PROLOGi LOGO cd.

Magnetofon dla Commodore

Sabre Wulf

Flowchart

Klubykomputerowe

Olimpiadainformatyczna

Ale

ksan

der

Koź

miń

ski/

fot.

Dan

iel K

oźm

ińsk

i

Z MIKROKOMPUTEREM NA TY

NR 4 Cena 60 złGRUDZIEŃ — 85

Prof. Andriej Jerszow

LOGO po polsku

Lądowanie na księżycu

Sinclair QL

Komputery w Chinach

Sygnalizator do Datassette

Sklep z komputerami

DOTYCHCZAS UKAZAŁY SIĘ POZOSTAŁE REDUKSY

NR 7/86 CENA 100ZŁ

NR INDEKSUPL ISSN 0860 – 1674

Z MIKROKOMPUTE

REM NA TY

7NR 8 CENA 100ZŁ

NR INDEKSUPL ISSN 0860 – 1674

8Z MIKROKOMPUTEREM NA TY

W NUMERZE

PORADNIKMŁODEGO

PIRATA

SZCZUR ROLAND

W AKCJI

OCZY ZIEMI

CPC 6128

MIESIĘCZNY DODATEK DO “SZTANDARU MŁODYCH” NR 9 WRZESIEŃ 1986 CENA 100ZŁ

NR INDEKSU 353965PL ISSN 0860 – 1674

9Z MIKROKOMPUTEREM NA TY

MIESIĘCZNY DODATEK DO “SZTANDARU MŁODYCH”

PORADNIKMŁODEGO

PIRATAGEMINI

10X

PANAMAJOE

JEDNORĘKIBANDYTA

C-128

HOMO INTELIGENS

KS

I NFORMATYKA

OMPUTERY

YSTEMY

Dodatek „Żołnierza Wolności” nr 1/1986

W numerze:

• Świat

minikomputerów

z bliska

• Cztery programy

w BASIC-u

na SPECTRUM

• Komputer dla

kolekcjonerów

• Liga Myślących

• „Iks” pomaga

w poznaniu

komputera

CE

NA

– 5

0 z

ł

abc

Andrzej Kadlof

Tajniki ZX Spectrum

R E D U K S P O W S T A Ł P R Z Y W S P Ó Ł P R A C Y Z S E R W I S E M

POPULARNY MIESIĘCZNIK INFORMACYJNY

Nr 1 kwiecień 1986 Nr indeksu 36-345 Cena 100 zł ISSN 0860-2541

19986

1985

Seria "Reduks" ma na celu przetworzenie– pełne zdigitalizowanie prasy komputer-owej z początków okresu informatyzacji naszego kraju.

W odróżnieniu od plików w formacie djvu i cbr gdzie format papierowy jest tylko zeskanowany i połączony w jeden dokument, reduks polega na ponownym przełamaniu dokumentu, wraz z ponowną obróbką grafi czną i edytorską. Tam gdzie to możliwe zachowana jest grafi ka z pier-wowzoru, jednak jeśli materiał jest zbyt złej jakości - zostaje on podmieniony na równoważny. Jeżeli uda nam się odnaleźć błąd w zamieszc-zonych listingach są one poprawiane tak, aby mogły zostać odpalone na emulatorach lub mik-rokomputerach, na które zostały napisane.

Rozpocząłem ten cykl od „Bajtków”, jednak mam nadzieję, że uda mi się wzbogacić kolekcję zdigitalizowanych i ponownie przełamanych peri-odyków także o inne wążne tytuły z lat ubiegłych, o których powoli zapominamy, a bez których współczesny obraz komputeryzacji wyglądałby zgoła inaczej. Wydania „Reduksowe” są bezpłatne, nie roszczę sobie żadnych praw do zawartości przetwarzanych magazynów, jednak ilość czasu i pracy jaką wkładam aby mogły one trafi ć w Twoje ręce jest na tyle spora, że pozwolę sobie napomknąć iż możesz wesprzeć mnie przekazując dotację w dowolnej wysokości. Jeśli posiadasz materiały fotografi czne lub edy-torskie, które są lepszej jakości niż prezentowane w numerach, daj znać - wersję poniżej 1.0 będą poprawiane na bieżąco

Możesz wspomóc akcję Re-duksów poprzez wpłatę na konto w dowolnej wysoko-ści: PKO BP 35 1020 2892 0000 5702 0045 5964 z dopiskiem "Reduks"lub poprzez PayPal

http://goo.gl/GAM2U1

http://reduks.t2e.pl

[email protected]