forum speccy.pl

Komputery z Z80 => ZX81 => Wątek zaczęty przez: KWF w 2020.04.05, 09:27:23

Tytuł: ZX81 - tryby SLOW/FAST
Wiadomość wysłana przez: KWF w 2020.04.05, 09:27:23
Wczorajsza dyskusja o ZX81 i jego trybie SLOW/FAST kontra synchro na ekranie i obraz wczytywania z taśmy wymaga kilku wyjaśnień.

ZX81 FAST/SLOW

ZX81 ma dwa tryby pracy:

Ponad to tryb FAST jest trybem odziedziczonym z ZX80, któty tylko w taki tryb miał w swojej pierwotnej postaci, z ROMem 4K i bez generatora /NMI (przerwań niemaskowanych).

Komenda FAST wyłącza generator /NMI (https://www.tablix.org/~avian/spectrum/rom/zx81.htm#L0207), zapewnia zgodność ze starszym bratem, ale także przywołuje wszystkie mankamenty generowania obrazu znane z ZX80. W skrócie obraz nie jest odświeżany do momentu zakończenia programu.

W trybie "SLOW" generator /NMI działa i obraz jest normalnie odświeżany tj. 50x sekundę.

Na filmiku prosty programik pokazujący jak wygląda generowanie obrazu w trybie FAST i SLOW. W przypadku trybu FAST, grabber nie dostawał sygnałów synchronizacji i wyłączył wejście, dlatego jest tam "zielona" wstawka. ZX81 FAST - SLOW (https://www.dropbox.com/s/e1dpleg3mpelfpj/ZX81_FAST_SLOW.mov?dl=0)

Różnica szybkości działania komputera w obu trybach jest znacząca i wyniki można zobaczyć tu: Benchmark ZX81 (https://www.speccy.pl/forum/index.php?topic=4037.0)

Wczytywanie z taśmy:

Utrata synchronizacji obrazu na wyjściu wideo nie ma nic wspólnego z trybami SLOW/FAST. W tym przypadku "szmaty na ekranie" są wynikiem uproszczeń konstrukcyjnych ZX81. ULA ZX81 (dowolna) ma 40 nóżek, konstruktorzy nóżkę nr 16 ULA wykorzystali do:

w przypadku we/wy sygnału audio, to I/O nie może być wykorzystane do wysłania poprawnego obrazu na TV.

Na początku po wydaniu komendy LOAD "", ekran będzie biały bez kursora a kiedy pojawi się sygnał wejściowy ekranie lecą śmieci lub nic nie pojawi się, w zależności jak tolerancyjny jest odbiornik. Na filmie z grabbera można zobaczyć początek oraz po wydaniu komendy "LOAD"i wczytywania programu. ZX81 LOAD (https://www.dropbox.com/s/hckszyrvbuy9w42/ZX81_LOAD.mov?dl=0)

Dla programistów
Potrzebujecie więcej mocy kosztem generowania obrazu, tryb FAST.
Nie jestem programistą, ale z tego co zrozumiałem, wyłączenie generatora /NMI (tryb FAST) daje Wam dostęp do większej ilości rejestrów Z80, więc tryb FAST, ale na ekranie zobaczycie najprwadopodobiey czarny ekran (zależności o podpiętego TV).
Tytuł: Odp: ZX81 - tryby SLOW/FAST
Wiadomość wysłana przez: Maryjan w 2020.04.05, 11:01:12
Ciekawe.
Nigdy w to nie wnikałem, ale by zrozumieć pewne mechanizmy rządzące ZX81 warto w ten temat było wniknąć.
Nia ma się co dziwić, że w ZX81 zachowano kompatybilność wsteczną. W jakimś tam procencie zapewne.
Tytuł: Odp: ZX81 - tryby SLOW/FAST
Wiadomość wysłana przez: KWF w 2020.04.05, 13:25:47
Każde ZX80 można przerobić na ZX81, a wymagane są do tego dwie rzeczy:
1. ROM z rozszerzonym BASICiem (w sumie jest to ROM z ZX81), który jest w układzie 8KB.  Sinclair nawet oferował taki "upgrade".
2. generator /NMI.

Po "upgradzie" nie ma różnic między ZX80 a ZX81, poza tym, że ZX80 jest na układach dyskretnych a ZX81 ma całą logikę w układzie o dużej stali integracji (ULA).

Aha, jeszcze dwa słowa wyjaśnienia w sprawie utraty synchro przy wczytywaniu/zapisywaniu programów. Ta operacja musi być ciągła, a nie wykonywana w przerwach między generowaniem ramek. Albo wczytujemy/zapisujemy, albo generujemy obraz i Z80 karmiony jest NOP-ami.

Owszem, na ZX80 można napisać program, który nie będzie "migał" ekranem, ale z wykonywaniem programu trzeba wstrzelić się w okresy kiedy procesor nie generuje obrazu. W ZX80 nawet odczyt klawiatury powoduje "miganie", jak na tak prostą maszynę z 1KB RAM, bez dedykowanego układu graficznego, to i tak osiągnięto wiele.
Tytuł: Odp: ZX81 - tryby SLOW/FAST
Wiadomość wysłana przez: damik w 2020.04.06, 11:45:42
Po "upgradzie" nie ma różnic między ZX80 a ZX81, poza tym, że ZX80 jest na układach dyskretnych a ZX81 ma całą logikę w układzie o dużej stali integracji (ULA).

Jest jedna różnica - to nieco inny układ klawiatury, ale to można załatwić naklejką lub wydrukowaną kartką papieru nakładaną na klawiaturę ZX80   ;)
Tytuł: Odp: ZX81 - tryby SLOW/FAST
Wiadomość wysłana przez: KWF w 2020.04.06, 12:37:19
Nowa naklejka klawiatury jest potrzebna do ZX80 przy zmianie ROMu na 8K. Rożnice są pomiędzy "starym" a 'nowym" ROMem do ZX80. Układ klawiatury z "nowym" ROMem jest taki sam, jak w ZX81.