Bajtek 8/1986
Bajtek 8/1986 v2 06/02/2026

Na dobry początek roku udostępniam kolejny reduks Bajtka - tym razem numeru 8 z 1986 roku. Przyznaję, że tym razem makietę trochę przetrzymałem - powód, wiedząc, że pojawi się artykuł w Poligamii poświęcony reduksom zdecydowałem, że pojawi ...

Zobacz stronę związaną z tym artykułem w Reduksach Try2emu
Spis treści:
Listingi dołączone do numeru w ReadyRun

Klan Commodore

Klaudiusz Dybowski|Michał Silski

Poradnik młodego pirata cz. I

Poniższy artykuł (a właściwie pierwszą jego część) przeznaczamy dla tych wszystkich, którzy myślą o ekonomicznym wykorzystaniu swoich dyskietek zaśmieconych programami działającymi równie dobrze z taśmy. Ponadto autorzy opisują jak uczynić „nieprzegrywałne” przegrywalnym — czyli po prostu jak kopiować programy dyskowe o długości do 207 bloków.

Wielokrotnie mieliśmy już okazję spotkać świeżo upieczonych posiadaczy Commodore 64 łamiących sobie głowę nad opracowaniem złotego sposobu umożliwiającego przegrywanie programów dyskowych na taśmę. Najczęściej oczywiście chodziło o tak renomowane gry jak „Kennedy Approach”, „Summer Games” czy też „Silent Service”, rzadziej zaś o jednoczęściowe programy mające po 200 i więcej bloków (1 blok — 256 bajtów). Znajdowali się również chętni do przegrywania programów kilku-częściowych, wgrywanych kolejno do pamięci za pomocą krótkiego programu wczytującego, tzw. loadera.

Większość zainteresowanych tym problemem osób kopiowała programy za pomocą znanego programu „COPY 190” (kopiującego programy o długości do 190 bloków, dającego jednakże LOAD ERROR chociaż program działa), albo poprzez najróżniejszej maści i formatu programy SUPE-REXTRAHIPERCUDOCOPY, z reguły działające wprost odwrotnie niż po ich nazwach można by się było tego spodziewać. Bardzo rzadko udawało nam się spotkać kogoś, kto starałby się rozwiązać ów problem metodami naturalnymi czyli bez pośrednictwa wyżej wymienionych programów kopiujących. Z tego też powodu chcielibyśmy przedstawić Czytelnikom parę pomysłów i rozwiązań umożliwiających przegrywanie NIEKTÓRYCH programów dyskowych na taśmę w systemie przyspieszonego zapisu i odczytu TURBO. Dla niewtajemniczonych podajemy, że system ten pozwala na dziesięciokrotne przyspieszenie zapisu, odczytu oraz weryfikacji programów taśmowych.

W tym miejscu chcielibyśmy jednak ostudzić rozgrzane głowy wszystkich „piratów” — amatorów marzących o posiadaniu na taśmie wszystkich absolutnie programów dyskowych. Prezentowane przez nas sposoby dotyczą (jak to już wyżej zaznaczyliśmy!!!) tylko NIEKTÓRYCH programów, z reguły zresztą tych „gorszych”. Przegrywanie „Kennedy Approach” czy „Summer Games” wymaga przede wszystkim doskonałej znajomości zasad programowania w języku maszynowym i systemu operacyjnego nie mówiąc już o rozeznaniu w technikach zabezpieczania programów czy olbrzymiej ilości czasu oraz cierpliwości. Rozsądniejszym proponujemy po prostu poczekać — z reguły większość tych „lepszych” programów ukazuje się najpierw w wersji dyskowej by po jakimś czasie znaleźć się również na firmowych kasetach. Z tymi zaś potrafi już sobie dać radę nawet przedszkolak...

Drugim kubłem jeszcze zimniej-szej wody będzie spora dawka teorii o której niestety trzeba coś wiedzieć zanim przystąpi się do przegrywania. Teorię tę trzeba także ZROZUMIEĆ, gdyż w przeciwnym wypadku szkoda tylko Twojego czasu na bezowocne próby przegrywania.

Ze względu na obfitość materiału nasz artykuł podzieliliśmy na trzy części. Postaramy sie w nich omówić w miarę dokładnie i szczegółowo wszystkie te zagadnienia, których znajomość jest niezbędna do skutecznego przegrywania programów dyskowych (tylko NIEKTÓRYCH!) na taśmę. Zacznijmy więc od teorii...

Czy zastanawiałeś się kiedykolwiek drogi Czytelniku jaka jest różnica pomiędzy LOAD „PROGRAM”, 1 i LOAD „PROGRAM”, 1,1? Jeżeli nie to postaramy Ci się różnicę tę w miarę dokładnie wytłumaczyć, gdyż jest ona w istocie kolosalna. Pamięć RAM (Random Access Memory — pamięć o swobodnym dostępie) dla użytkownika zaczyna się w Commodore 64 od adresu dziesiętnego 2048 (i w normalnej konfiguracji kończy w komórce o adresie 40959 ($9FFF). Ponieważ komórka 2048 zawiera zawsze wartość 0 dla naszych celów przyjmiemy nieco inne ustawienie — od adresu 2049 ($0801) Następne 8 kb od adresu 40960 do 49151 ($A000 – $BFFF) to obszar „maskowany” przez interpreter języka BASIC — jest to pamięć dla nas niedostępna dopóki nie zostanie on wyłączony. Poprzez „maskowanie” rozumiemy tu pewien kruczek techniczny, który pokrótce postaramy się objaśnić. Otóż cały interpreter jest w rzeczywistości zawarty w pamięci ROM (Read Only Memory) czyli pamięci, którą możemy tylko „czytać” — nie możemy zaś do niej nic wpisać. W zależności od stanu mikroprocesora (ustawienia go na „czytanie” bądź „zapisywanie” danych do pamięci) możemy co prawda wpisać dane do obszaru pamięci leżącej „pod” interpreterem jednakże ze względu na konstrukcję Commodore 64 odczytać możemy jedynie interpreter. Innymi słowy chociaż wpisujemy dane do RAM odczytać możemy użytkownika B — Obszar pamięci „maskowany” przez interpreter C — Dodatkowe 4 kb pamięci RAM nieadresowanej przez BASIC jedynie ROM. Stan ten będzie trwał dopóki interpreter nie zostanie wyłączony. Odczytywanie danych jednakże będzie możliwe jedynie w języku maszynowym, gdyż po wyłączeniu interpretera BASIC nie działa. Taki stan rzeczy powinien również wyjaśnić Ci jakim cudem jest możliwe wczytanie do pamięci programu o długości np. 45 kb pomimo, że w normalnym układzie dostępne dla Ciebie jest łącznie ok. 43 kilobajtów pamięci. Podczas wczytywania programów mikroprocesor jest ustawiony na „zapis” danych do pamięci, może więc dane te wpisać do RAM leżącej pod interpreterem (adresy 40960-49151, $A000-BFFF). Skorzystanie z nich będzie jednakże możliwe dopiero po wyłączeniu interpretera, gdyż ustawienie mikroprocesora na „czytanie” spowoduje wyczytywanie danych z ROM. W praktyce wyłączanie go powoduje krótka, kilkunastobajtowa procedura umieszczona na początku programu, lecz dopiero po jego uruchomieniu, gdyż będzie on nam potrzebny do rozpoznania i wykonania instrukcji SYS uruchamiającej nasz program.

Po interpreterze i leżącej pod nim RAM do dyspozycji użytkownika pozostaje jeszcze 4 kb pamięci RAM od adresu 49152 do 53247 ($ C000-$CFFF). Obszar ten jest nieadresowai-ny przez BASIC (nie można w tym obszarze — w normalnej konfiguracji — umieścić programu napisanego w BASIC-u). Co to wszystko właściwie oznacza? Oznacza to, że BASIC może „obsłużyć” program jedynie w obszarze od adresu 2049 do 40960, w pozostałych zaś 4 kb można jedynie umieścić np. dane dla sprite'ów czy procesora muzycznego. Wyrażenie „normalna konfiguracja” oznacza, że początek pamięci RAM dla użytkownika zaczyna się w komórce o adresie 2049 i kończy w 40959. W rzeczywistości konfiguracja ta może być zmieniana w dowolny sposób, co będzie miało duże znaczenie przy omawianym przez nas temacie.

Jak Ci zapewne wiadomo, program napisany w BASIC może mieć co najwyżej 38911 bajtów długości, zaś program maszynowy nawet ponad 52 kb. Skąd ta różnica? Właśnie z wyłączonego interpretera. Po jego wyłączeniu programista zyskuje dodatkowe 8 kb pamięci co sprawia, że ma on do dyspozycji jeden ciągły blok pamięci RAM od adresu 2049 ($0801) do 53247 ($CFFF). Oczywiście obszar ten będzie musiał być obsługiwany przez język maszynowy gdyż wyłączenie interpretera powoduje wyłączenie BASIC. Co do rekonfigurowania pamięci Commodore 64 to przy minimum wprawy można dojść do zaskakujących rezultatów. Pomijając możliwość operowania dwoma całkowicie różnymi programami umieszczonymi naraz w pamięci, to można również wspomniane wyżej obszary pamięci zamieniać ze sobą. Dobrym przykładem może tu być krótki program napisany w BASIC wykorzystujący np. 35 kb pamięci do przechowywania danych dla procesora muzycznego. W takim wypadku możliwe jest umieszczenie głównego programu np. w obszarze pamięci od 49152 do 53247 ($CFFF) i danych do niego w adresach 2049-40959 ($0801-$ 9FFF). Rekonfigura-cji takiej można dokonać za pomocą czterch POKE'ów! Ale o tym za miesiąc.

Klaudiusz Dybowski, Michał Silski

Połączone artykuły
„Poradnik młodego pirata cz. I”
Klaudiusz Dybowski, Michał Silski - Bajtek 8/1986

Poniższy artykuł (a właściwie pierwszą jego część) przeznaczamy dla tych wszystkich, którzy myślą o ekonomicznym wykorzystaniu swoich dyskietek zaśmieconych programami działającymi równie dobrze z taśmy. Ponadto autorzy opisują jak uczynić „nieprzegrywałne” przegrywalnym — czyli po prostu jak kopiować programy dyskowe o długości do 207 bloków. Wielokrotnie mieliśmy już okazję spotkać świeżo upieczonych posiadaczy Commodore 64 łamiących sobie głowę nad opracowaniem złotego sposobu umożliwiającego przegrywanie programów dyskowych na taśmę. Najczęściej oczywiście chodziło o tak renomowane gry jak „Kennedy Approach”, „Summer Games” czy też „Silent Service”, rzadziej zaś o jednoczęściowe programy mające po 200 i więcej bloków (1 blok — 256 bajtów). Znajdowali się również chętni do przegrywania programów kilku-częściowych, wgrywanych kolejno do pamięci za pomocą krótkiego programu wczytującego, tzw. loadera.

„Poradnik młodego pirata cz. II”
Klaudiusz Dybowski - Bajtek 9/1986

Czy wiesz drogi Czytelniku w jaki sposób Twój Commodore rozpoznaje daną konfiguracje pamieci?    

Czytaj także w dziale Klan Commodore
„SAM”
(M.S.) - Bajtek 11/1986

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

„Poradnik młodego pirata cz. 4”
(Ted) - Bajtek 11/1986

Uff! Po tak solidnej dawce teorii warto by było trochę odpocząć i przejść do nieco innej tematyki — jakie programy nadają sie do przepisania na taśmę.    

Poradnik młodego pirata cz. 4
„Przenieść Obraz”
Klaudiusz Dybowski - Bajtek 1/1988

Choć poszczególne modele Commodore różnią sie od siebie, to maja one także jedna cechę wspólna — jest nią grafika o rozdzielczości 320x200 punktów. Dla entuzjastów grafiki mam wiec coś ekstra — sposób przenoszenia obrazów graficznych pomiędzy modelami C-64, C-16 /116/PLUS4 i C-128.

Przenieść Obraz
„C-64 budowa i działanie”
Klaudiusz Dybowski, Michał Silski - Bajtek 3-4/1986

Dobry mikrokomputer to taki, który jest tani, ma bogate oprogramowanie dostępne w kraju, przystępny język programowania i duże możliwości rozbudowy w kierunku małego systemu. Przedstawiamy Commodore 64, mikrokomputer spełniający wszystkie powyższe wymogi, cieszący się w Polsce dużą (i zasłużoną) popularnością. Oczywiście, że określenie „tani", odnosi się do porównania z cenami innych, podobnych urządzeń, a nie do niskiej ceny w ogóle.  

C-64 budowa i działanie
„Poradnik młodego pirata cz. I”
Klaudiusz Dybowski, Michał Silski - Bajtek 8/1986

Poniższy artykuł (a właściwie pierwszą jego część) przeznaczamy dla tych wszystkich, którzy myślą o ekonomicznym wykorzystaniu swoich dyskietek zaśmieconych programami działającymi równie dobrze z taśmy. Ponadto autorzy opisują jak uczynić „nieprzegrywałne” przegrywalnym — czyli po prostu jak kopiować programy dyskowe o długości do 207 bloków. Wielokrotnie mieliśmy już okazję spotkać świeżo upieczonych posiadaczy Commodore 64 łamiących sobie głowę nad opracowaniem złotego sposobu umożliwiającego przegrywanie programów dyskowych na taśmę. Najczęściej oczywiście chodziło o tak renomowane gry jak „Kennedy Approach”, „Summer Games” czy też „Silent Service”, rzadziej zaś o jednoczęściowe programy mające po 200 i więcej bloków (1 blok — 256 bajtów). Znajdowali się również chętni do przegrywania programów kilku-częściowych, wgrywanych kolejno do pamięci za pomocą krótkiego programu wczytującego, tzw. loadera.

„C-128”
Przemysław Koziarski - Bajtek 9/1986

Zaczęło sie w styczniu 1985 w Las Vegas (USA). Wtedy to firma Commodore zaprezentowała 3 nowe mikrokomputery: Commodore PC-128. Commodore PC-128D i Commodore LCO. Commodore LCO jak dotąd nie pokazał się w sklepach, natomiast podróż PC-128 z USA do Europy trwała przeszło pół roku. Na początku lipca 1985 trafił na półki sklepowe i do katalogów domów wysyłkowych, ściślej biorąc miał trafić, bo w sklepach pojawiły się tylko pojedyńcze egzemplarze. Firma milczała, handlowcy i domy wysyłkowe też, a chętni na PC-128 ostrzyli sobie zęby i ... czekali. Krążyły różne plotki: Commodore zbankrutował, cała partia komputerów jest uszkodzona itd. Milczenie i niepewność trwały do początku października 1985. Firma wyjaśniła, że przyczyną opóźnienia w dostawie był bład w pamięci ROM.      

„Poradnik młodego pirata cz. II”
Klaudiusz Dybowski - Bajtek 9/1986

Czy wiesz drogi Czytelniku w jaki sposób Twój Commodore rozpoznaje daną konfiguracje pamieci?    

„Polski alfabet cz.l ”
(ms) - Bajtek 10/1986

Dla przekonania tych, którzy twierdza, że bez polskiej pisowni można sie obejść, zamieszczam przykład zaproponowany przez prof. W. M. Turskiego: „ZADANIE KATA NA LACE”. Sposobów interpretacji tego zdania jest na tyle dużo, aby straciło ono sens w ogóle.    

„Poradnik młodego pirata cz. V”
Klaudiusz Dybowsk, Michał Silski - Bajtek 12/1986

Na zakończenie naszego "Poradnika" chcielibyśmy omówić pokrótce podstawowe sposoby zabezpieczania programów. Ze zrozumiałych względów nie będziemy sie wdawać w szczegóły techniczne - chodzi nam raczej o zasygnalizowanie pewnych metod używanych do zabezpieczania.

„Monitory Ml — Część II”
Klaudiusz Dybowski - Bajtek 1/1989

W poprzedniej części mówiliśmy o monitorach generalnie. Dziś pora na listę instrukcji i pierwsze przykłady.

„Modem I Sprawa Polska”
Artur Bychowski - Bajtek 1/1989

Prywatni użytkownicy, właściciele oraz ci, którzy zamierzają nabyć modem do swego mikrokomputera mają zwykle kilka podstawowych wątpliwości związanych z legalizacją działalności na łączach telefonicznych. Czy dany modem był już w kraju homologowany? Jakie są przepisy dotyczące korzystania z modemów? Gdzie takie urządzenia zarejestrować? — to tylko kilka pytań, na które postaram się w tym artykule odpowiedzieć.

„Zasilacz Do Commodore C64”
Zbigniew Kaszycki - Bajtek 1/1989

Jedną z dość częstych przyczyn unieruchomienia komputera jest uszkodzenie zasilacza. Sprzyjają temu przede wszystkim jego zwarta budowa i związane z nią niekorzystne warunki chłodzenia prowadzące w rezultacie do przegrzewania się stabilizatora i transformatora a ich uszkodzeń.

„Łańcuchowanie Programów”
Krzysztof Gajewski, Bogusław Radziszewski - Bajtek 1/1989

Zmorą małych komputerów jest mała pamięć. W mikrokomputerze Commodore 64 pracującym pod kontrolą firmowego interpretera prowadzi to do pojawienia się błędu OUT OF MEMORY, który bardziej irytuje niż inne, bowiem tylko częściowo winowajcą, w przypadku gdy wystąpi, jest programista.

„EMULATOR C-64 DLA AMIGI”
Jan Jasiński - Bajtek 2/1989

Amiga i jej oprogramowanie jest przedstawiane dość skromnie i sporadycznie w prasie krajowej, czas więc na pierwszy solidny test tego komputera w naszych polskich warunkach. Test ten będzie dotyczył programu emulującego C-64 na Amidze.

„Język maszynowy”
Dominik Falkowski - Bajtek 2/1989

Opisy monitorów, które już się pojawiły w klanie COMMODORE, zasygnalizowały zamiar rozpoczęcia cyklu nauki programowania w języku maszynowym. Zanim kolejne wykłady zyskają w miarę jednostajny rytm, potrzebne będzie wprowadzenie kilku pojęć i terminów, które będą nam potrzebne w następnych wykładach. Umożliwią one pełniejsze zrozumienie metod programowania w powiązaniu z architekturą komputera.

„Bhp Virus Killer”
Klaudiusz Dybowski - Bajtek 3/1989

Wydawać by się mogło, że wirusy komputerowe dotyczą tylko sprzętu "poważnego" — IBM, AMIGI czy Atari ST. Niestety również i poczciwe komputerki 8-bitowe są podatne na tę zarazę i choć działanie wirusów odnosi się do nich w znacznie mniejszym zakresie, to jednak ich uderzenie może być dla użytkownika dość bolesne.  

„Magnetofon Też Człowiek”
Zbigniew Kaszycki{SP8IC} - Bajtek 3/1989

Mimo iż stacje dysków są coraz bardziej popularne, magnetofon długo jeszcze będzie służył wielu użytkownikom jako tania pamięć masowa. Warto więc poświęcić mu nieco uwagi i troski aby jego eksploatacja była długa i bezawaryjna.    

„1750 RAM Expansion Module”
Klaudiusz Dybowski - Bajtek 4/1989

Dzięki uprzejmości jednego ze stałych Czytelników BAJTKA otrzymatem do testowania kartkę rozszerzającą pamięć o 512 KB o nazwie „1750 RAM EXPANSION MODULE“ przeznaczona dla Commodore 128.    

„Porady spod lady”
Klaudiusz Dybowski - Bajtek 4/1989

Po dwóch latach używania mojego C-64 komputer reaguje dość dziwnie na wciśnięcie klawisza RETURN. Czasami zdarza się, że nie reaguje wogóle, czasami natomiast jedno wciśnięcie powoduje przesunięcie kursora nawet o trzy, cztery linie w dól (...