eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaZX Spectrum › Re: ZX Spectrum
  • Data: 2020-10-18 10:44:18
    Temat: Re: ZX Spectrum
    Od: heby <h...@p...onet.pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    On 18/10/2020 01:57, r...@k...pl wrote:
    >> Nie, to często jedyne wyjście aby mieć więcej pamieci. Ekran Atari mógł
    >> zając kilkadziesiąt bajtów z prostym napisem i to była *oszczędnośc* w
    >> stosunku do podstawowego trybu graficznego.
    > Ale tutaj oszczędności nie były potrzebne, bo i tak w przypadku gier w końcu
    > trzeba było uruchomić tryb graficzny.

    Nigdy taki, jaki miał system operacyjny w trybie BASICa czy DOSa.

    Nie pamiętam ani jednej poważnej gry pracujące w trybie gr0.

    >>> I ponieważ nie zawsze system od razu przełączał się na nowy ekran, to czasem
    >>> ten nowy ekran pokazywał się z opóźnieniem -- za każdym ładowaniem w innym
    >>> momencie :)
    >> Zasze przełączanie było natychmitowe, kod się wywoływał, tworzył display
    >> list, i ramkę pźniej było go widać na ekranie. Nie spotkałem gry na
    >> Atari która robiła by machloje z ekranem w sposób randomiczny.
    > Nie trzeba było uruchamiać kodu, wystarczyło przy ładowaniu wpisać się w
    > odpowiednie komórki.

    To powoduje że nie kontrolujesz gdzie jest ekran. To poważny problem
    podczas pisania własnych programów ponieważ w środku RAMu masz dziurę na
    bufor pamięci gfx.

    Co z resztą łatwo zauważyć: cześc gier bez podmiany bufora ekranu w
    trakcie ładowania niszczyła display list antica powodując chaos na
    ekranie do ukończenia ładowania.

    >> Nie, to jest nieskończenie bardziej skomplikowane. Na Atari nie ma
    >> czegoś takiego jak "ekran". Jest display list Antica który okresla jak
    >> dma ma pobierać i jak interpretować zawartośc RAM. To jest zdecydowanie
    >> wiecej pamieci niż 2 bajty, powiedzmy że minimum kilkadziesiąt aby
    >> wyświetlić jeden duży napis.
    > Jak przez mgłę pamiętam, że jednak adres RAM-u z tą "zawartością dla Antica"
    > wystarczyło wpisać w dwie komórki, aby Antic wiedział co ma wyświetlać.

    ALe najpierw należało stworzyć stosowne display list i zawartość RAM
    gdzieś na boku. W kilku sekcjach. To jest kilkadziesiąt bajtów co
    najmniej + overheat sekcji.

    >> Można oczywiście załadować jakiś napis wprost w domyślną lokalizację
    >> pamieci gr0, ale to jest jechanie po bandzie i nie kojarze ani jednej
    >> gry/programu robiącego coś tak niebezpiecznego.
    > To w ogóle nie było niebezpieczne, a oszczędzało uruchamianie zbędnego kodu.
    > Niestety, pamięć ulotna nie pozwala mi sobie przypomnieć jakie cuda można było
    > z tym zrobić.

    Mamy więc rózne doswiadczenia. Na kilkaset gier kaseta/dysk nie pamiętam
    ani jednej ładującej cokolwiek w pamięc zastanego ekranu [1]. Za to
    setki uruchamiające kod zestawiajacy antica albo przynajmniej tworzące
    display list używajac mechanizmu sekcji.

    Uruchamianie kodu było niezbędne również po to aby odzyskać RAM
    przykryty ROMem lub robić relokacje w czasie rzeczywistym.

    Jeden z kompresorów (kiepskich) po każdej sekcji zerował następny blok
    pamięci ponieważ jego działanie polegało na szatkowaniu pliku tak aoby
    ominąć framenty z zerami. Zerowanie odbywało się właśnie poprzez wołanie
    kawałka kodu robiącego to podczas ładowania, dziesiatki razy.

    [1] Za to na C64 powszechne było wciskanie decrunchera w pamiec ekranu.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: