The Top 2

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 11:59, 25 sie 2022
Dracon (Dyskusja | wkład)

← Previous diff
Wersja z dnia 15:46, 26 sie 2022
Seban (Dyskusja | wkład)
(sprawdziłem dokładej kod dekompresjuący, jest to z całą pewnością Cruel Cruncher)
Next diff →
Linia 13: Linia 13:
== Varia (jednak głównie o o kompresji) == == Varia (jednak głównie o o kompresji) ==
-Ponieważ program ładuje się na raz do pamięci i wymaga jedynie 64KB pamięci RAM, to aby udało wszystkie te części zmieścić w pamięci użyto dość zaawansowanej kompresji danych. Każda część programu dekompresuje się tuż przed uruchomieniem. Zastosowane algorytmy to zarówno proste [https://pl.wikipedia.org/wiki/RLE "Kodowanie Długości Serii"] (czyli tzw. RLE) jak i nieco bardziej skomplikowana technika kompresji jaką jest [https://pl.wikipedia.org/wiki/LZ77 LZ77]. Ponieważ w tamtym czasie nie istniał żaden tego typu program kompresujący dla ośmiobitowych komputerów Atari, a sama kompresja nie była zjawiskiem na tej platformie zjawiskiem powszechnym, [[Magnus]] skierował swoją uwagę w stronę rozwiązań stworzonych już w owym czasie na platformie Commodore. Analizując kod produkcji z dużym prawdopodobieństwem można stwierdzić że kompresji dokonano [[Cruncher|cruncher-em]] na komputerze C64 lub C128. Mogą świadczyć o tym typowe typowe dla platform C64/C128 odwołania w kodzie procedury dekompresującej do rejestrów sprzętowych (np. do lokacji $D030 czy też $01). W pamięci można znaleźć również typowe dla w/w platform struktury danych odpowiadające fragmentom programu Commodore BASIC (np. SYS 2059). Dlaczego wybrano platformę C64/C128? Procesory [[65C02]] (Atari) i [https://pl.wikipedia.org/wiki/MOS_Technology_6510 6510] (C64) są ze sobą w 99% zgodne sprzętowo i programowo, kod dekompresora pochodzący z C64 można bez większych zmian uruchomić bezpośrednio na Atari.+Ponieważ program ładuje się na raz do pamięci i wymaga jedynie 64KB pamięci RAM, to aby udało wszystkie te części zmieścić w pamięci użyto dość zaawansowanej kompresji danych. Każda część programu dekompresuje się tuż przed uruchomieniem. Zastosowane algorytmy to zarówno proste [https://pl.wikipedia.org/wiki/RLE "Kodowanie Długości Serii"] (czyli tzw. RLE) jak i nieco bardziej skomplikowana technika kompresji jaką jest [https://pl.wikipedia.org/wiki/LZ77 LZ77]. Ponieważ w tamtym czasie nie istniał żaden tego typu program kompresujący dla ośmiobitowych komputerów Atari, a sama kompresja nie była zjawiskiem na tej platformie zjawiskiem powszechnym, [[Magnus]] skierował swoją uwagę w stronę rozwiązań stworzonych już w owym czasie na platformie Commodore. Analizując kod całej serii [[The Top]] można stwierdzić że kompresji dokonano za pomocą [https://csdb.dk/release/?id=29507 Cruel Crunchera 2.0] na komputerze C64/C128. Świadczy o tym bliźniaczy kod procedury dekompresującej w którym pozostały fragmenty typowe typowe dla platform C64/C128, w tym odwołania w kodzie do rejestrów sprzętowych (np. do lokacji $D030 czy też $01). W pamięci można znaleźć również typowe dla w/w platform struktury danych odpowiadające fragmentom programu Commodore BASIC (np. SYS 2059). Dlaczego wybrano platformę C64/C128? Procesory [[65C02]] (Atari) i [https://pl.wikipedia.org/wiki/MOS_Technology_6510 6510] (C64) są ze sobą w 99% zgodne sprzętowo i programowo, kod dekompresora pochodzący z C64 można bez większych zmian uruchomić bezpośrednio na Atari.
[[The Top 1]] oraz [[The Top 3]] również skompresowano w podobny sposób, z dużą dawką prawdopodobieństwa moża przyjąć że własnie te działania były zaczątkiem i inspiracją do stworzenia przez Magnusa zarówno [[Cruncher 4.64| Cruncher-a 4.64]] (wykorzystującego tylko i wyłącznie algorytm RLE) a potem [[Cruncher 5.0|Cruncher-a 5.0]] (który to korzystał już z RLE jak i LZ77). [[The Top 1]] oraz [[The Top 3]] również skompresowano w podobny sposób, z dużą dawką prawdopodobieństwa moża przyjąć że własnie te działania były zaczątkiem i inspiracją do stworzenia przez Magnusa zarówno [[Cruncher 4.64| Cruncher-a 4.64]] (wykorzystującego tylko i wyłącznie algorytm RLE) a potem [[Cruncher 5.0|Cruncher-a 5.0]] (który to korzystał już z RLE jak i LZ77).

Wersja z dnia 15:46, 26 sie 2022

Grafika:The_top_2.gif

Kontynuacja kultowej serii dema grupy WFMH na Atari XL/XE. Równie dobra jak poprzednik. Produkcja wymaga jedynie 64kB pamięci RAM. Ładuje się jako pojedynczy plik do pamięci, potem poszczególne części są dekompresowane w trakcie przechodzenia pomiędzy kolejnymi częściami. Autorzy produkcji twierdzą że na "The Top 2" składają się te części które nie zmieściły się w The Top 1, a jednocześnie są zbyt kiepskie aby znalazły się w zapowiadanej na ekranie powitalnym trzeciej części tejże kultowej serii.

Demo składa się z pięciu części:

  • Digi part
  • Multi sinus srcolls
  • Sprite Scroller
  • 3MHz Demo
  • "In the Space"

Pomiędzy którymi przechodzi się za pomocą klawisz SHIFT, wyjątkiem jest tutaj część "3MHz Demo", z której to wychodzi się używając klawisza "RETURN".

Varia (jednak głównie o o kompresji)

Ponieważ program ładuje się na raz do pamięci i wymaga jedynie 64KB pamięci RAM, to aby udało wszystkie te części zmieścić w pamięci użyto dość zaawansowanej kompresji danych. Każda część programu dekompresuje się tuż przed uruchomieniem. Zastosowane algorytmy to zarówno proste "Kodowanie Długości Serii" (czyli tzw. RLE) jak i nieco bardziej skomplikowana technika kompresji jaką jest LZ77. Ponieważ w tamtym czasie nie istniał żaden tego typu program kompresujący dla ośmiobitowych komputerów Atari, a sama kompresja nie była zjawiskiem na tej platformie zjawiskiem powszechnym, Magnus skierował swoją uwagę w stronę rozwiązań stworzonych już w owym czasie na platformie Commodore. Analizując kod całej serii The Top można stwierdzić że kompresji dokonano za pomocą Cruel Crunchera 2.0 na komputerze C64/C128. Świadczy o tym bliźniaczy kod procedury dekompresującej w którym pozostały fragmenty typowe typowe dla platform C64/C128, w tym odwołania w kodzie do rejestrów sprzętowych (np. do lokacji $D030 czy też $01). W pamięci można znaleźć również typowe dla w/w platform struktury danych odpowiadające fragmentom programu Commodore BASIC (np. SYS 2059). Dlaczego wybrano platformę C64/C128? Procesory 65C02 (Atari) i 6510 (C64) są ze sobą w 99% zgodne sprzętowo i programowo, kod dekompresora pochodzący z C64 można bez większych zmian uruchomić bezpośrednio na Atari.

The Top 1 oraz The Top 3 również skompresowano w podobny sposób, z dużą dawką prawdopodobieństwa moża przyjąć że własnie te działania były zaczątkiem i inspiracją do stworzenia przez Magnusa zarówno Cruncher-a 4.64 (wykorzystującego tylko i wyłącznie algorytm RLE) a potem Cruncher-a 5.0 (który to korzystał już z RLE jak i LZ77).

Odnośniki

Personal tools