ZX Spectrum > SOFTWARE

On-the-fly Screen Compressor

(1/3) > >>

Phonex:
Przyszło mi do głowy, żeby połączyć plusy zwykłego ładowania screena i skompresowanego screena, czyli rozkompresowywać na bieżąco w trakcie ładowania. Czemu nie wpadłem na ten pomysł kiedyś?
Kompresor stosuje ten sam algorytm co Fast Compressor, tyle że "w biegu" - nie trzeba czekać na zakończenie ładowania. Nie zmienia kolorów ekranu, jak się ustawi czarne na czarnym, to nie będzie widać ładowania, tylko wtedy po co stosować "on-the-fly"? No ale można.
Kto był na Speccy party 2018.2 to widział, pokazywałem jak działa.
Kompresor zgrywa dwa pliki: dekompresor/loader: normalny plik CODE z nagłówkiem i obrazek: bez nagłówka i z krótkim pilotem żeby zaoszczędzić czas.
Oczywiście krótkiego pilota zgrywa tylko na taśmę, do pliku tap/tzx trafia normalny, trzeba sobie samodzielnie zmienić w razie potrzeby.

Używanie LOAD ""CODE: RANDOMIZE USR 40000
Dekompresor/loader ma 194 bajty, ładuje się pod 40000 i nie jest relokowalny. Uruchomienie RANDOMIZE USR 40000 powoduje załadowanie/rozkompresowanie obrazka.
Jeżeli w grze był skompresowany obrazek to prawdopodobnie już jest tam taka sekwencja żeby załadować i rozkompresować obrazek, więc możliwe że nie trzeba nic zmieniać. Jeżeli było zwykłe LOAD ""SCREEN$ to trzeba zamienić na wspomnianą wyżej parę.

Efekt? Wygląda jak normalne ładowanie obrazka, tylko szybciej! :D
Dzieje się to na tyle szybko, że nie widać zmian szybkości w trakcie (czego trochę oczekiwałem, efektu trochę podobnego do zwalniającego licznika w COPY 128 V3).
Co zyskujemy? Obrazek rysuje się od początku ładowania, nie trzeba przez kilkanaście sekund patrzeć w pusty ekran czekając do końca ładowania żeby rozkompresować. A długość jest mniejsza!

Zastosowanie jest oczywiście tylko do taśmy i do plików tap/tzx na emulatorze.
Załączam przykład. Szczegóły wkrótce.

Dalthon:
Yeah!! ;)

KWF:
Mogę tylko popodziwiać i trzymać kciuki za chęci. Oby tak dalej.

tooloud:
Bosko, dzięki!

ZX Freeq:
Niesamowite to jest. dzięki.

Nawigacja

[0] Indeks wiadomości

[#] Następna strona

Idź do wersji pełnej