Videoface Digitiser: Różnice pomiędzy wersjami

Z ZX Spectrum Wiki
m
 
Linia 39: Linia 39:
 
== Dokumentacja ==
 
== Dokumentacja ==
 
* schemat [https://ia800604.us.archive.org/view_archive.php?archive=/1/items/World_of_Spectrum_June_2017_Mirror/World%20of%20Spectrum%20June%202017%20Mirror.zip&file=World%20of%20Spectrum%20June%202017%20Mirror/sinclair/technical-docs/Videoface_Schematics.gif]
 
* schemat [https://ia800604.us.archive.org/view_archive.php?archive=/1/items/World_of_Spectrum_June_2017_Mirror/World%20of%20Spectrum%20June%202017%20Mirror.zip&file=World%20of%20Spectrum%20June%202017%20Mirror/sinclair/technical-docs/Videoface_Schematics.gif]
* loader w BASICu [https://github.com/McKlaud76/VideoFace/blob/main/Docs/loader.txt]
+
* loader w BASICu [https://github.com/McKlaud76/VideoFace/blob/main/Scr/loader.txt]
  
  
 
[[Kategoria:Sprzęt]][[Kategoria:Peryferia]]
 
[[Kategoria:Sprzęt]][[Kategoria:Peryferia]]

Aktualna wersja na dzień 06:31, 28 mar 2023

Opis

Videoface Digitiser - interfejs zaprojektowany i produkowany przez holenderską firmę Data-Skip, a dystrybuowany przez Romantic Robot Ltd. z Wielkiej Brytanii. W późniejszym okresie, Romantic Robot przejęło produkcję tego interfejsu. Jest on jednym z digitizerów opracowanych dla ZX Spectrum, obok ROMBO Vidi-ZX.

Videoface akceptuje zespolony sygnał wideo (composite) z ramką 50 Hz (PAL lub SECAM) I digitalizuje jednobitowo do formatu 256 × 192 pikseli. Skanowanie odbywa się przez detekcję poziomu jasności poszczególnych pikseli. Jeśli jasność jest powyżej zadanego progu, piksel jest biały, a poniżej czarny. Digitizer nie zapisuje żadnych pośrednich wartości jasności obrazu, nie posiada algorytmów do ditheringu np. Floyd-Steinberg. Nie są przechowywane informacje o kolorze pikseli. Szybkość skanowania wynosi niewiele ponad 3 klatki na sekundę. Klatki mogą być zapisane jako pojedyncze obrazy (SCREEN$) lub ich sekwencja animacji 6 ostatnich klatek w zadaną prędkością (SLOW lub FAST).

Oprogramowanie digitizera

Oprogramowanie składa się z dwóch części:

  • loader, interfejs użytkownika, wywoływane procedur w kodzie maszynowym napisano w BASICu,
  • procedury w kodzie maszynowym umieszczane w pamięci komputera od adresu 0xF700 (63232) i zajmują 1270 bajtów pamięci.

Pozostała wolna pamięć RAM komputera jest wykorzystana do przechowania ostatnich 6 klatek zdigitalizowanego obrazu. Oprogramowanie digitizera obsługuje zapis na nośnikach zewnętrznych tj. kaseta magnetofonowa, kasetka Microdive, stacja dysków Opus lub +3. Przechwycony obraz można wydrukować na drukarce podpiętej do ZX Spectrum.

Detale techniczne

Od strony funkcjonalnej interfejs można podzielić na bloki:

  • separator sygnału synchronizacji,
  • dekoder adresów,
  • generator zegara pikseli,
  • układ sterowania przetwornikiem analogowo-cyfrowym,
  • 1-bitowy przetwornik analogowo-cyfrowy,
  • logikę przesuwu obrazu w pionie i poziomie.

W interfejsie nie zastosowano wewnętrznej pamięci RAM na bufor obrazu, a całość oprogramowana jest ładowana z taśmy.

Do obsługi interdejsu wykorzystano porty:

  • 0x5B - wejście - skan pierwszego (górnego) półobrazu,
  • 0x5F - wejście - skan drugiego (dolnego) półobrazu; wyjście - przesuwanie obrazu w poziomie,
  • 0x7B - wejście - początek skanowania obrazu; wyjście - koniec skanowania,
  • 0x7F - wyjście - przesuwanie obrazu w w pionie.

Dodatkowo wykorzystane są standardowe porty do obsługi klawiatury i urządzeń pamięci masowej.

Do skanowania poszczególnych pikseli wykorzystano zegar o częstotliwości 6,25 MHz (?). Jednobitowy przetwornik analogowo-cyfrowy został zbudowany na dwóch 8-bitowych rejestrach przesuwnych typu 74HC4094.


Linki


Dokumentacja

  • schemat [1]
  • loader w BASICu [2]