Videoface Digitiser: Różnice pomiędzy wersjami

Z ZX Spectrum Wiki
Linia 22: Linia 22:
  
 
Do obsługi interdejsu wykorzystano porty:
 
Do obsługi interdejsu wykorzystano porty:
* 0x5B - wejście - skan pierwszego półobrazu
+
* 0x5B - wejście - skan pierwszego (górnego) półobrazu
* 0x5F - wejście - skan drugiego półobrazu; wyjście - przesuwanie obrazu w pionie
+
* 0x5F - wejście - skan drugiego (dolnego) półobrazu; wyjście - przesuwanie obrazu w pionie
 
* 0x7B - wejście - początek skanowania obrazu; wyjście - koniec skanowania  
 
* 0x7B - wejście - początek skanowania obrazu; wyjście - koniec skanowania  
 
* 0x7F - wyjście - przesuwanie obrazu w w poziomie
 
* 0x7F - wyjście - przesuwanie obrazu w w poziomie
 
Dodatkowo wykorzystane są standardowe porty do obsługi klawiatury i urządzeń pamięci masowej.
 
Dodatkowo wykorzystane są standardowe porty do obsługi klawiatury i urządzeń pamięci masowej.
  
Każdy z półobrazów skanowany jest w 16 kolumnach o szerokości 8 pikseli. 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.
+
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.
  
  

Wersja z 05:37, 19 wrz 2022

Opis

Videoface Digitiser - interfejs zaprojektowany i produkowany przez holenderska 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.

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 ok. 4 klatek na sekundę, a klatki mogą być zapisane jako pojedyncze obrazy (SCREEN$) lub ich sekwencja animacji 6 ostatnich klatek w zadaną prędkością.

Oprogramowanie digitizera

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

  • loader i interfejs użytkownika 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 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.

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,

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 pionie
  • 0x7B - wejście - początek skanowania obrazu; wyjście - koniec skanowania
  • 0x7F - wyjście - przesuwanie obrazu w w poziomie

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: