speccy.pl
SPECCY.PL

[SPECCY.PL PARTY 2025]

[WIKI SPECCY.PL]
Polecamy

KOMITET SPOŁECZNY KRONIKA POLSKIEJ DEMOSCENY
PIXEL HEAVEN 2025
AYGOR
Forum ZX Spectrum
Zawartość panelu chwilowo niedostępna
Nawigacja
SAM Coupé - czyli ZX Spectrum naszych marzeń
SAM Coupe - czyli ZX Spectrum naszych marzeń
by Sir David

Dawno, dawno temu (ale w naszej galaktyce) nasz ulubiony komputerek ZX Spectrum zaczął przegrywać rywalizację z innymi klanami IT, które poszły z duchem czasu i postępem. Commodorowcy dostali Amigę 500, Atarowcy – Atari 520 ST, a nasz poczciwy ZX Spectrum zatrzymał się w miejscu. 128 kB RAM i generator dźwięku AY nie wystarczyły, aby utrzymać się blisko głównych rywali.

zin80_01_03_01 zin80_01_03_03 zin80_01_03_02

Nadzieje z nim związane były ogromne, szczególnie, gdy widziało się pamiętne reklamy w „Bajtku”, krzyczące „muzyka jak Amiga, grafika jak Atari ST!”

Być może niektórzy jeszcze pamiętają taki projekt, jak ZX Spectrum Loki. Rozbudził nasze marzenia o super komputerze ze stajni Sinclaira, który miał mieć niesamowite możliwości i nie tylko dotrzymać kroku, ale i wyprzedzić rywali, a do tego, w odróżnieniu od wyżej wymienionych, pozwalałby na uruchomienie naszych ulubionych gier z ZX Spectrum. Nie trzeba by było zaczynać wszystkiego od nowa. Projekt (a w zasadzie pomysł) jednak upadł wraz z upadkiem Sinclaira. Marzenia jednak pozostały.

Sprzedaż Sinclair Research Ltd Amstradowi w 1986 roku pociągnęła za sobą dużą redukcję kadry inżynierskiej. Na szczęście tym, którzy odeszli, pozwolono na kontynuację rozpoczętych projektów gdzie indziej. To wtedy dwaj byli pracownicy Sinclaira: Bruce Gordon i Alan Miles założyli własną firmę Miles Gordon Technology i zaczęli produkować rozmaite dodatki do komputerów ZX Spectrum, w tym bardzo dobry interfejs do stacji dyskietek 3,5’’ o nazwie „Plus D”. Ich ambicje były jednak większe. Chcieli stworzyć następcę ZX Spectrum – tani komputer 8-bitowy mogący pod względem możliwości graficznych i dźwiękowych rywalizować z 16-bitową konkurencją.

Mijały lata i część z nas (ci, których było stać) przesiadła się już na nowoczesne, 16-bitowe maszyny. Aż tu nagle pojawił się ON – SAM Coupé. Miał nieco mniejsze możliwości niż zapowiadany wcześniej Loki (choć podobno wykorzystano w nim niektóre pomysły z tamtego projektu), ale też jedną, niepodważalną zaletę – był. W końcu można go było kupić i poczuć się właścicielem Super Spectrum! Może wyglądał trochę dziwnie, czy nawet śmiesznie, ale jednak dość solidnie. Nadzieje z nim związane były ogromne, szczególnie, gdy widziało się pamiętne reklamy w „Bajtku”, krzyczące „muzyka jak Amiga, grafika jak Atari ST!”. Chyba wszyscy to pamiętamy. Na początku nie było prawie dedykowanego oprogramowania, ale to miało się lada moment zmienić. Do tego kompatybilność z ZX Spectrum miała pozwolić na bezbolesne przetrwanie okresu przejściowego.

Dane techniczne:
CPU: Zilog Z80B taktowany 6 MHz (dostawcą była firma GoldStar)
RAM: 256 KB lub 512 KB (w zależności od wersji) z możliwością rozbudowy do 4.5 MB RAM poprzez dedykowane zewnętrzne karty pamięci.
ROM: 32 KB zawierający SAM Basic.
Grafika: Grafikę generuje układ ASIC. Dostępne 4 tryby graficzne: tryb 256x192 identyczny z ZX Spectrum, tryb 256x192 jak tryb MultiColor komputerów TIMEX, ale linie ułożone w pamięci kolejno po sobie, tryb 512x192 w 4 kolorach oraz tryb 256x192 w 16 kolorach z palety 128 kolorów. Możliwość dowolnego definiowania każdego koloru z dostępnej palety oraz zmiany definicji kolorów w różnych obszarach ekranu (w praktyce do 4 zmian definicji koloru w linii, w sumie do 128 zmian na ekran).
Dźwięk: Układ dźwiękowy Philips SAA 1099, 6 kanałów, osiem oktaw, pełne stereo, możliwość regulowania głośności i obwiedni.
Pamięć masowa: Standardowo 1 stacja 3.5” o pojemności 780 KB – dedykowany napęd Citizen. Opcjonalnie 2 stacje dysków. Możliwość wykorzystania magnetofonu kasetowego jako pamięci masowej.
Przydatne linki: www.simcoupe.org
www.worldofsam.org
ftp.nvg.ntnu.no/pub/sam-coupe/docs/manuals/
sam.speccy.cz
zin80_01_03_04

Porównanie grafiki SAMa Coupe (po lewej) z ZX Spectrum (po prawej) w grze "Defenders of the Earth".

Nowe gry rzeczywiście wyglądały bardzo ładnie, porównywalnie do Atari ST. To naprawdę było Super Spectrum, skok jakościowy w porównaniu z poprzednikiem był duży. Rzeczywistość okazała się jednak brutalna. Dedykowanego oprogramowania powstało mało, a kompatybilność z ZX Spectrum (szczególnie na początku, do czasu pojawienia się lepszych emulatorów) była problematyczna. „Firmowy” emulator pozwalał na uruchomienie jedynie ok. 5% gier… Ostatecznie nie udało się. SAM nie był porażką z powodu słabości sprzętowej. Zabrakło czasu, żeby rozwinąć skrzydła. Zamiast zapowiadanej premiery na przełomie lat 1987 i 1988, wystartował dopiero w roku 1990, gdy komputery 8-bitowe umierały i nic nie było w stanie tego zmienić. Postęp techniczny przyśpieszał i nawet pierwsze Amigi czy Atari ST stawiały się już zbyt słabe. Gdyby pojawił się wcześniej, na przykład razem z Amigą 500 albo ZX Spectrum 128k +3, do tego w atrakcyjnej cenie, pewnie miałby dużo większe szanse na sukces.

Przejdźmy jednak do czasów obecnych. Minęły lata (a nawet dziesięciolecia) i za sprawą nas, czyli retromaniaków, stare komputery powróciły. Znów zaczęło powstawać nowe oprogramowanie, głównie w postaci gier i dem. Najlepsze jest jednak to, że nie musimy się, tak jak kiedyś, ograniczać do jednego komputera. Dziś można nadrobić zaległości i marzenia z dzieciństwa lub młodości i mieć ich kilka. A nawet wszystkie, jakie kiedyś chcieliśmy posiadać lub poznać. Oczywiście najlepiej mieć oryginalne, ale jak się nie da, to do poznania nowej platformy wystarczą emulatory lub sprzętowe klony w FPGA. Do grania możemy wybrać sobie komputer z najpopularniejszymi grami, a do (nauki) programowania w BASICu – ten z najlepszym BASICem, czyli na przykład SAM Coupé! Do poważniejszego programowania (gry, dema) przydaje się wsparcie w postaci dobrego emulatora i innego oprogramowania wspierającego np. na PC. Tutaj też SAM nie ma się czego wstydzić. Fakt, że jakiś komputer nie należał kiedyś do najpopularniejszych, nie ma dziś większego znaczenia. Bardziej liczą się ciekawe możliwości i ogólna „fajność” platformy.

Wielu posiadaczy ZX Spectrum marzyło kiedyś o SAMie, jednak z różnych powodów nie miało okazji go poznać. Może więc nadszedł ten czas, aby spełnić dawne marzenia? Osobiście uważam, że naprawdę warto. Tym bardziej, że na SAMa również dziś powstają nowe gry, dema, a nawet dodatkowy osprzęt czy papierowy magazyn z dołączaną dyskietką.

Na pewno wielu z was ma obawy, że będzie się czuło na SAMie obco, że po uruchomieniu np. emulatora nie będzie wiedziało, co dalej robić. Ja się tak kiedyś czułem odpalając C64, Atari XL/XE albo Amstrada CPC. Niby mają BASIC, ale jakiś taki inny, trochę obcy. Oprócz załadowania programu trudno jest na nich cokolwiek innego zrobić, choćby z powodu zupełnie innego edytora. Tymczasem SAM ma więcej wspólnego z ZX Spectrum, niż mogłoby się wydawać. Jeżeli usiądziecie przed SAMem, to po prostu zachowujcie się tak, jak na ZX Spectrum!

zin80_01_03_05

Włączenie wysokiej rozdzielczości ekranu (komendą MODE 3) spowoduje przejście to trybu 85 kolumn. Program od razu staje się o wiele bardziej czytelny i przejrzysty!

Przede wszystkim SAM również ma edytor liniowy. Piszemy na dole ekranu i po naciśnięciu klawisza RETURN polecenie się wykonuje lub jeżeli nadamy numer linii, linia przeskoczy do górnej części jako część programu. Różnica jest głównie taka, że komendy trzeba wpisywać po literce (choć jest kilka, które można wywołać w całości kombinacją klawiszy, np. naciśnięcie CNTRL+P napisze PRINT). Aby przywołać linię do edycji, należy nacisnąć klawisz EDIT (na klawiaturze PC jego odpowiednikiem jest prawy Alt).

BASIC SAMa jest rozwinięty i ulepszony (bardzo) względem tego ze Spectrum. Zarówno edytor, jak i programy działają szybciej i sprawniej. Możemy przepisać choćby jakiś program dla ZX Spectrum z „Bajtka” i jeżeli nie ma w nim komend POKE, powinien zadziałać tak samo. Poznając BASIC SAMa można nawet odnieść wrażenie, że ma on wszystko to, czego nam w Spectrum brakowało! Na przykład przy edycji linii można przesuwać kursor również w kierunkach góra/dół. Chcąc edytować linię o konkretnym numerze nie trzeba do niej przechodzić kursorem, wystarczy wpisać numer linii i nacisnąć EDIT, a odpowiednia linia pojawi się w polu do edycji.

Edycja to nie wszystko, kod programu również może wyglądać lepiej. Włączenie wysokiej rozdzielczości ekranu (komendą MODE 3) spowoduje przejście to trybu 85 kolumn. Program od razu staje się o wiele bardziej czytelny i przejrzysty!

BASIC SAMa ma nie tylko dziesiątki nowych i bardzo przydatnych komend, ma też rozbudowane i ulepszone te znane ze Spectrum. Weźmy dla przykładu komendę POKE. Można użyć ją tak:

POKE 50000,10,12,5,34,45,200,145

Spowoduje to wprowadzenie kolejnych wartości począwszy od adresu 50000. Genialne! W ZX Spectrum każdą komórkę pamięci trzeba było zapisywać oddzielną komendą. A co spowoduje komenda POKE 50000,”tekst” albo POKE 50000,a$ ? Chyba nie muszę tłumaczyć. Nie można było tak od razu? Do wprowadzenia wartości 16-bitowej (dwubajtowej) służy natomiast komenda DPOKE, np. DPOKE 30000,13542.

Albo inny przykład. Linia:

LET a=10,b=5,dom$="okno"

zdefiniuje kilka zmiennych za jednym zamachem. Super! Oczywiście nazwy żadnych zmiennych nie muszą być ograniczone do jednej litery, jak zmienne tekstowe lub licznik pętli FOR w ZX Spectrum.

Pisanie w BASICu SAMa to czysta przyjemność, do tego jest on całkiem szybki. Dzięki temu na SAMie swoje pierwsze, poważne kroki stawiało wielu domorosłych programistów, piszących w nim gry, programy użytkowe, czy magazyny dyskowe (ja sam się do nich zaliczam). Niedostatek „firmowego” oprogramowania dedykowanego SAMowi został więc w pewnym stopniu zmniejszony przez jego użytkowników, tworzących bardzo rozbudowane, własne programy. Dodatkowo naukę programowania, bardzo ułatwiał kapitalny wręcz podręcznik użytkownika naszego komputera („SAM Coupé User’s Manual”). Wszystkie pozostałe instrukcje i dokumentacje techniczne SAMa również są na najwyższym poziomie.

zin80_01_03_06

Instrukcja obsługi sam coupe "SAM Coupé User’s Manual" została napisana tak aby być jak najbardziej przyjazna dla początkującego użytkownika.

Gdyby ktoś znający dobrze BASIC ZX Spectrum chciał spróbować bardziej zaawansowanych rzeczy, np. wstawek w kodzie maszynowym, również nie będzie się czuł obco. Organizacja pamięci też przypomina Spectrum, z jedyną zasadniczą różnicą w postaci pamięci ekranu. Pierwsze 16 kB zajmuje oczywiście ROM (połowa ROMu SAMa). Za nim jest właśnie ta różnica, bo nie ma tu pamięci ekranu, a już od adresu 16384 zaczynają się różne bufory, stosy, tablice i zmienne systemowe. Obszar programu w BASICu zaczyna się w SAMie z grubsza tym samym miejscu, co w Spectrum, dlatego parametr komendy CLEAR (czyli RAMTOP) również może mieć podobne wartości.

W odróżnieniu od ZX Spectrum 128, w SAMie cała pamięć RAM jest widziana z BASICa liniowo. Kolejne banki po 16 kB widziane są kolejno po sobie: od banku 0, który zaczyna się zaraz po ROMie od adresu 16384, aż do banku 31, kończącego się adresem 540671. I właśnie tutaj warto wspomnieć o pamięci ekranu – w SAMie ekran na starcie znajduje się w dwóch ostatnich bankach pamięci (zajmuje 24 kB, więc w jednym się nie zmieści) i zaczyna się od adresu 507904, czyli od początku banku numer 30. „Na starcie”, gdyż można ustawić ekran w każdym banku wewnętrznej pamięci RAM.

Wspomniałem też o zmiennych systemowych. Dostęp do nich jest łatwiejszy, niż w ZX Spectrum, bo oprócz adresów posiadają własne numery zaczynające się od 0 (łatwiejsze do zapamiętania niż adresy), a odwołujemy się do nich za pomocą funkcji SVAR (lub DVAR dla zmiennych systemowych DOSa), np. POKE SVAR 0,70 (pod numerem 0 znajduje się akurat znak wskazujący na bieżącą linię programu, na początku jest to „>”).

Na koniec tego „wstępu do BASICa” będzie co nieco o operacjach dyskowych. Tutaj też chyba nie dało się zrobić prościej i lepiej. Składnie komend LOAD czy SAVE są oczywiste, identyczne jak przy obsłudze magnetofonu w ZX Spectrum. Podobnie jak typy plików, gdzie, tak jak w standardzie +D ze Spectrum, dochodzi typ SCREEN$ dla obrazków. Do odczytu katalogu dyskietki służy oczywiście komenda DIR. Do wyświetlenia listy w formie skróconej wystarczy sama komenda DIR bez parametrów. Natomiast dla listy w formie rozwiniętej, ze szczegółowymi danymi o plikach i ich numerami w katalogu, należy użyć komendy DIR n (gdzie n jest numerem stacji dyskietek, np. DIR 1). Numery plików w katalogu mogą się przydać do szybszego załadowania ich przez LOAD n (gdzie n jest numerem pliku w katalogu). Należałoby dodać, iż do obsługi stacji dyskietek niezbędne jest załadowanie DOSa z dyskietki, podobnie jak w standardzie +D w ZX Spectrum. Robimy to komendą BOOT (w +D służy do tego komenda RUN).

I tak już duże możliwości BASICa i DOSa można dodatkowo rozszerzyć ładując rozszerzone wersje DOSa o nazwie Master DOS i BASICa o nazwie Master BASIC. Dostaniemy w zamian między innymi szybszą obsługę programowych duszków oraz jeszcze większe możliwości edytora, ułatwiające zapanowanie nad dużymi projektami. W efekcie otrzymujemy porządne środowisko, umożliwiające tworzenie całkiem niezłych programów, a nawet gier!

Wspomniałem już wcześniej o reklamowanych sprzętowych możliwościach SAMa, a jakie one są w rzeczywistości? Jak jest z tą „muzyką jak Amiga” i „grafiką jak Atari ST”? Zacznijmy od muzyki. SAM posiada 6-kanałowy generator dźwięku Philips SAA1099, który można porównać trochę do dwóch AY-greków umieszczonych w jednym układzie. Niestety nie jest w stanie uzyskać wszystkich brzmień AY-greka, szczególnie w niskich częstotliwościach i szumach. Może za to zagrać dużo więcej brzmień niedostępnych dla AY-greka, a przypominających bardziej układ SID z komputera Commodore C64. Do tego jest w pełni stereofoniczny, dla każdego z 6-ciu kanałów głośność jest ustawiana oddzielnie dla lewego i prawego głośnika. Slogan o muzyce jak z Amigi bierze się zapewne stąd, że sample można odgrywać jakby na czterech kanałach (w rzeczywistości na dwóch, ale w pełnym stereo), po dwa na głośnik lewy i prawy. Czyli tak, jak w Amidze. Do Amigi jednak temu dźwiękowi daleko, bo kanały są jedynie 4-bitowe i bez jakiegokolwiek sprzętowego wspomagania odtwarzania sampli.

A jak jest z grafiką? SAM może wyświetlać obraz o rozdzielczości 256x192 pikseli w 16 kolorach lub 512x192 w 4 kolorach z palety 128. Dla porównania Atari ST w rozdzielczości 320x200 również ma 16 kolorów, a w 640x200 również 4, ale z palety 512. ST ma więc przewagę, jednak niezbyt wielką. Grafika przekonwertowana z ST na SAMa wygląda bardzo podobnie, jedynie niektóre kolory mogą mieć trochę inne odcienie.

zin80_01_03_0708

Porównanie grafiki SAMa Coupe (po lewej) z Atari ST (po prawej) w grze "Escape from the Planet of the Robot Monsters".

Porównując SAMa do wyżej wymienionych 16-bitowców warto jeszcze wspomnieć o zbliżonej wielkości pamięci RAM – 256 albo 512 kB, a także o stacji dyskietek 3,5’’ o podobnej pojemności i prędkości. Ogólnie możliwości niby są, ale brakuje jednej ważnej rzeczy – prędkości. SAM nie ma jakiegokolwiek wspomagania sprzętowego (np. dla grafiki), ma do tego dużo wolniejszy procesor (oczywiście Z80) niż 16-bitowa Motorola 68000 z Amigi 500 czy Atari 520 ST. Efekt jest więc taki, że owszem, da się na SAMie posłuchać muzyki z Amigi – MOD playerów powstało nawet kilka, jednak jakość dźwięku jest wyraźnie gorsza (można ją trochę poprawić za pomocą zewnętrznych „kart dźwiękowych”). Ponadto ich odtwarzanie zajmuje prawie cały czas procesora i na cokolwiek innego zostaje bardzo mało mocy obliczeniowej. Podobnie z grafiką – da się wyświetlić obrazek wyglądający jak te z komputerów 16-bitowych, jednak będzie to grafika statyczna. Zrobienie gry z taką grafiką i płynnym przesuwaniem całego ekranu nie jest niestety możliwe. „Scroll” całego ekranu nie był prosty i na ZX Spectrum, a pamięć obrazu SAMa jest czterokrotnie większa, przy tylko nieznacznie szybszym procesorze. Da się za to zrobić ładnie wyglądające platformówki, gry logiczne i wszystkie inne ze statycznym tłem. Choć z drugiej strony, do gier z przesuwanym ekranem zawsze można użyć grafiki w MODE 2, podobnego do trybu „multicolor” z TIMEXa. Za cenę pewnych ograniczeń, wielkość pamięć ekranu zmniejszy się wtedy o połowę.

Jak można zacząć poznawanie SAMa nie mając dostępu do oryginalnego sprzętu? Tak się szczęśliwie składa, że istniejące emulatory na PC, czyli SimCoupe oraz ASCD, są wyjątkowo zgodne z oryginałem i nie sprawiają problemów. Działa na nich wszystko. Podobnie na sprzętowym klonie w postaci wsadu do „multikomputera” MIST. Testowałem na nim wsady różnych maszyn, oprócz SAMa również ZX Spectrum, C64 i +4, Atari XL i ST, Amstrada CPC, Amigę, MSX, jednak tylko SAMie i ZX Spectrum prawidłowo działało wszystko. Istnieje też wsad do klona o nazwie ZX Uno, jednak nie miałem okazji go przetestować.

zin80_01_03_09

Ulotka zachęcająca (???) do zakupu SAMA Coupe z 1993 r. Fot@ Facebook.

zin80_01_03_10

Sam Coupe inside. Fot@Carlos Pérez Ruiz.

zin80_01_03_11

God is Coming by Slayer/Ghostown
Coupe, Standard Mode 4 (256 x 192, 16 colors)
IV miejsce na RetroKomp/Load Error 2017 w kategorii GFX Compo.

Brak komentarzy. Może czas dodać swój?
Dodaj komentarz
Zaloguj się, aby móc dodać komentarz.
Oceny
Tylko zarejestrowani użytkownicy mogą oceniać zawartość strony
Zaloguj się , żeby móc zagłosować.

Brak ocen. Może czas dodać swoją?