D2D

From Atariki

Revision as of 08:59, 29 gru 2006; view current revision
←Older revision | Newer revision→
Jump to: navigation, search

Napisany przez KMK, eksperymentalny program na ośmiobitowe Atari do odtwarzania sampli z plików zapisanych pod DOS-em na twardym dysku. Najchętniej działa ze SpartaDOS X na komputerach XL lub XE z co najmniej 128k pamięci RAM (DOS trzeba skonfigurować w trybie USE BANKED). Program zasadniczo wymaga też procesora 65C816, ale istnieje starsza wersja przeportowana na 6502 przez Lizarda.

W bieżącej wersji prograsm jest w stanie odtwarzać zarówno zwykłe sample (tzw. RAW-y) jak i pliki *.WAV. W kązdym przypadku plik do odtworzenia musi zawierać próbki ośmiobitowe, mono, bez znaku. Przewaga pliku *.WAV nad "gołym" samplem jest tylko taka, że program odczytuje żądane parametry odtwarzania z nagłówka pliku i automatycznie wybiera je jako domyślne. Wielkość sampla do odtworzenia jest ograniczona tylko maksymalną wielkością pliku, jaki da się zapisać na dysku małego Atari - w chwili obecnej jest to 16 MB.

Program ma kilka trybów odtwarzania:

  • na POKEY-u, z konwersją dokonywaną "w locie" z próbek ośmiobitowych na czterobitowe.
  • na POKEY-u, z konwersją do pięciu bitów (jest mniej szumów, ale komputer jest bardziej obciążony)
  • na POKEY-u z konwersją do sześciu bitów (obciążenie procesora jest jeszcze większe przy wątpliwej poprawie jakości)
  • na Covoksie

Przy zastosowaniu KMK/JŻ IDE, szybkiego dysku (np. Toshiba MK2103MAV) i partycji z 256-bajtowymi sektorami program pozwala na odtwarzanie ośmiobitowych sampli w pierwszym trybie (czyli z konwersją w locie na 4 bity) z częstotliwością 12-16 kHz. Jest nadzieja, że na "nowym" filesystemie SPartaDOS X 4.39, który jest szybszy od starego o około 1,5 raza, parametry odtwarzania polepszą się na tyle, żeby można było osiągnąć 22 kHz.

Wady programu

Istotną wadą D2D jest słyszalna niestabilność dźwięku wynikająca głównie z nieregularności występowania zegarowych przerwań IRQ układu POKEY - liczniki te nie mają "samowyzwalacza", po zliczeniu do zera muszą być uruchamiane na nowo przez procedurę przerwania. Skutkuje to kumulowaniem się opóźnień mających źrodło w różnym czasie wykonywania się różnych rozkazów 6502 (jak wiadomo, przerwanie może być obsłużone dopiero po zakończeniu wykonywania pojedynczego rozkazu, w związku z czym tzw. interrupt latency waha się w zakresie od 0 do 7 cykli maszynowych), a to z kolei daje efekt słyszalnego "pływania" dźwięku w zalezności od tego, co komputer w danej chwili, poza odtwarzaniem sampla, robi: czyta dane z dysku, czy czeka na zwolnienie się następnego bufora.

Download

Personal tools