- Drukuj
- 26 Jan 2023
- Demoscena
- 2794 czytań
- 0 komentarzy
Tekst został opublikowany w Zin80 #4
by tooloud
Demo (a w zasadzie mega demo) jest dość stare, ale biorąc pod uwagę ilość produkcji na platformę MSX2 zarówno istotne dla tej sceny, jak i problematyczne.
Zacznijmy od tej ostatniej kwestii. Wbrew pozorom nie jest ani łatwo, ani tanio skompletować sprzęt, który pozwoli je uruchomić. Pierwsza część wymagań czyli komputer MSX2 albo nowszy jest dość prosta do spełnienia, ponieważ dostępnych modeli było sporo. Pamięć RAM - wymagane do odpalenia 256K pamięci RAM jest pozornie prostą sprawą.
Pierwsza pułapka to zrozumienie, że marketingowe 256K RAM na pudełkach modeli Philipsa i nie tylko, oznacza w przypadku MSX2 128K RAM + 128K VRAM. Czyli brakuje nam połowę niezbędnego RAMu. Tak naprawdę komputerów z fabrycznym 256K RAM było tylko kilka, a jestem szczęśliwym posiadaczem jednego z nich, tj.SONY HB-F700P.
Pułapka numer dwa to nadmiar dobroci. Demo potrafi odmówić działania na komputerach, które zostały rozszerzone przez użytkowników do 4 MB pamięci RAM. W takim przypadku ratunkiem jest przełączenie rozszerzenia w tryb 2 MB RAM, o ile jego konstrukcja na to pozwala.
Pułapka numer trzy to chęć uruchomienia dema z dysku twardego. Z racji pamięciożerności systemu MSX-DOS2 potrzebujemy wtedy dodatkowe 32K ponad wymagane 256K pamięci RAM użytkownika, czyli w praktyce sprowadza się do rozszerzenia 512K RAM.
W tym miejscu dochodzimy do kumulacji problemów z wymogami sprzętowymi, rozszerzeń dźwiękowych. Pierwszym z nich jest MSX Music, które jest też znane pod nazwą FMPac. MSX Music został oparty na chipsecie OPLL Yamahy, będącym okrojoną wersją OPL2 ze zmienioną kolejnością rejestrów. Jest ono dość popularne i w zasadzie standardowe, oraz wbudowane w komputery MSX2+. Drugie potrzebne rozszerzenie jest bardziej problematyczne - MSX Audio, znane też jako MSX Music Module (w wydaniu Philipsa). Karta ta jest oparta na chipsecie Yamahy YM3526 czyli OPL1, zawiera fabrycznie 32K pamięci RAM na odgrywane sample. Problem polega na tym, że Unknown Reality potrzebuje 256K pamięci RAM tej karty. W latach 90. demoscenowcy z Holandii bardzo często rozszerzali swoje MSX Music Module o dodatkową pamięć. Możemy przyjąć, że ta produkcja to ukłon grupy NOP w stronę tamtejszej demosceny i tego, co było wtedy popularne. Przez długi czas dołożenie RAMu oznaczało albo cięcie obudowy modułu, albo sztukowanie jej z np. wydruku 3D, bowiem po dołożeniu płytki z dodatkową pamięcią, zmieszczenie wszystkiego w oryginalnej (i tak ogromnej) obudowie było niemożliwe. Na szczęście Bas Kornalijnslijper opracował taką wersję tego rozszerzenia, która mieści się w oryginalnej obudowie bez jej niszczenia.
Innym rozwiązaniem, na które skusiłem się osobiście (co spowodowało, że suma wydatków na zakup sprzętu, aby odpalić to jedno demo oscyluje już w dość abstrakcyjnej kwocie), jest zakup karty Audiowave (z Brazylii), która jest współczesnym klonem karty MSX Audio ale pozbawionym np. wejść/wyjść MIDI, za to zawierającym 256K pamięci RAM. I tak - za bodajże 130 USD (za kartę Audiowave) plus karta MSX Music (koszt około 50 EUR) mogę uruchomić na swoim MSX2 Sony F700P trzydyskietkowe demo z 1994 roku.
Dlaczego to demo jest tak wyjątkowe?
Jest długie, jak to mega demo. Zaczynając od warstwy muzycznej - zawiera bardzo dobrą muzykę autorstwa tuzów demosceny MSX - Compjoetania. Idąc dalej - na trzech dyskietkach autorzy umieścili bardzo ciekawe efekty wizualne i programistyczne, jak podział wyświetlanego ekranu w środku linii (moment scrolla i wizualizacji sampli), parę tricków z obrazkami mającymi 2048 kolorów na raz na ekranie z użyciem przeplotu, trochę animacji. Demo, jak wspomniałem, jest długie, to pierwsza połowa lat 90. czyli zobaczymy dużo tekstu na scrollach i ekranach, ale warto zainwestować w nie ponad 30 minut siedzenia przed ekranem, bo zawiera doskonałe podsumowanie możliwości i historii platformy MSX2. Dodatkowo - zgrywanie tego dema przez grabber z HDMI potrafi wyzbyć z człowieka ostatnie pokłady cierpliwości - demo 16 razy przełącza się pomiędzy trybami PAL i NTSC wyprowadzając „grabber” w ślepe uliczki. Bifi, autor „zgrywki" tego dema z poziomu OpenMSX na swoim blogu napisał ciekawy artykuł dotyczący stopnia jego skomplikowania (http://bifi.msxnet.org/blog/index.php?entry=entry120827-125728).
„Screensplit”
Unknown Reality jest znane głównie z efektu zwanego „screensplit”, polegającego na podziale ekranu na kilka sposobów (http://map.grauw.nl/articles/split_guide.php). Tak dzieje się dzięki temu, że możemy zmienić istotne dla tej czynności atrybuty w tym samym czasie, gdy VDP (ang. Video Display Processor) nadal wyświetla obraz, co skutkuje natychmiastowym uaktualnieniem obrazu. VDP pozwala na kilka różnych podziałów, które umownie nazywamy screensplitem. W efekcie otrzymamy podział ekranu na dwa różne tryby (modesplit), a podział palety kolorów (palettesplit) pozwala nam użyć ponad 32 kolory w trybie nr 5 (ang. Screen 5) wyświetlania obrazu (standardowo zawiera on do 16 kolorów z palety 512). Ponad to możemy użyć części obrazu z jednej strony pamięci ekranu, a drugiej części ekranu z innej strony pamięci (pagesplit) - co daje pole do popisu, gdybyśmy na części ekranu chcieli wyświetlać animację, a drugą mieć statyczną, albo w innym trybie graficznym itp. Tych możliwości jest sporo, ponieważ „spritesplit” daje nam możliwość zwiększenia ilości sprite’ów, a także pozwala na blokowanie części ekranu przed scrollem. Wykorzystanie tego wszystkiego tak naprawdę zależy tylko od naszej inwencji. Jak to jest zrobione? Układ V9938 (VDP) posiada specjalną flagę w rejestrze R#19 do oznaczania linii podziału (VDP#20: scanning line number when the interrupt occurs), osiągnięcie tej linii dostajemy albo w rejestrze statusu S#1 (VDP#-1) na fladze FH (bit nr 0 - FH: horizontal scan interrupt flag), a dodatkowo, jeżeli ustawimy w rejestrze R#0 (Control Register 0) bit nr 4 (IE1: enable interrupt from horizontal scanning line) na 1 to VDP wygeneruje nam pięknie przerwanie. Istotne jest to, że podział linii w poziomie uzależnia nas od odczytu flagi HBLANK, tj. bitu 5 (HR) w rejestrze statusu S#2.
Ciekawostka na koniec - scena holenderska MSX przez bardzo długi okres (do późnych lat 90.) sprzedawała dema, tak jak sprzedaje się gry. Wysyłkowo :)
Polecam obejrzenie do końca napisów z podziękowaniami, w którym autorzy dema wymieniają jakie mają komputery i modyfikacje w nich :)
Tytuł: | UNKNOWN REALITY |
Archiwum: | https://www.pouet.net/prod.php?which=30145 |
Rok wydania: | 1994 |
Miejsce wydania: | party Tilburg (Holandia) |
Platforma: | MSX2 |
Grupa: | NOP (Neunen Onderbetaalde Programmeurs) https://nopmsx.nl |
Kod i gfx: | Stephan Smetsers, Maarten Loor, Mark Verhappen |
Muzyka: | Compjoetania (Dave i Bart) |
Nośnik: | 3 dyskietki DD albo dysk twardy |
Cena w roku wydania: | 17,50 guldena holenderskiego (obecnie prawie 8 euro) |
Wymagania systemowe: | komputer MSX2 albo nowszy (MSX2+, MSX TurboR), 256K pamięci RAM użytkownika, 128K pamięci VRAM, rozszerzenia dźwiękowe MSX Music (OPLL) i MSX Audio z pamięcią 256K |
Zaloguj się , żeby móc zagłosować.