Nie ma problemu. Będzie i taki. Niebawem udostępnię instrukcję w pdf do tego układu, bo możliwości bardzo się rozrastają - został dodany rejestr konfiguracyjny pod adresem $D21C. Wygląda, na razie roboczo to wszystko tak:
1. Wszystkie Pokeye (4) mają IRQ podłączone
2. Odczyt 0x1 spod 0xd2Xc, aby zidentyfikować PokeyMAX'a
3. Zapis 0x3f do 0xd21c włącza rejestry konfiguracyjne
4. Rejestry konfiguracyjne będą dostępne jako zestaw rejestrów pod 0xd210-d21f, dopóki nic innego niż 0x3f zostanie zapisane do 0xd21c.
Założenia:
1. Kanały zsumowane w zależności od trybu kanału (na układ Pokey, na kanał itd.)
2. Sygnał GTIA dodany do wszystkich kanałów (konfigurowalna głośność poprzez gtia_volume)
3. Podział przez n (aby uniknąć saturacji)
4. Krzywa saturacji na kanał (pokey lub liniowa)
5. Kanały dzielone na kanał (aby ustawić wartość poziomu wyjściowego sygnału)
6. Na nóżce AUD w podstawce Pokeya jest dostępny sygnał z wszystkich urządzeń w rdzeniu.
-- d210: audio Mode W
-- 10: pre_divide (00=1,01=2,10=4)
-- 32 : saturate (00=off,01=pokey,10/11 reserved -> user configurable curve)
-- 54 : channel mode (00(mono)=TTTT, 01(stereo)=TTLR (L=0+2,R=1+3), 10(split)=0123 (0=sum(channel0),1=sum(channel1) etc)
-- 76 : gtia volume (0=0,1=16,2=32,3=64 - volume)
-- d211: saturate curve data shift ref (future core)
-- d212: enable R/W
-- 10: pokeys (00=1,01=2,11=4); d000-d03f;
-- 32 : others (00=off,01=dual sid,10=dual ym2149,11=covox/sample); d040-d07f;
-- 54 : others (00=off,01=dual sid,10=dual ym2149,11=covox/sample); d080-d0bf; (future hardware)
-- 76 : others (00=off,01=dual sid,10=dual ym2149,11=covox/sample); d0c0-d0ff; (future hardware)
-- d213: capability R
-- 10: pokeys (00=1,01=2,10=4);
-- 2 : sid (0=0,1=dual sid);
-- 3 : ym2149 (0=0,1=dual ym2149);
-- 4 : covox/sample (0=0,1=covox/sample);
-- d214: post_divide W
-- 10: 00=0,01=2,10=4 channel 0 (default 0 - 0-5v)
-- 32 : 00=0,01=2,10=4 channel 1 (default 4 - 0-1.25v)
-- 54 : 00=0,01=2,10=4 channel 2 (default 4 - 0-1.25v)
-- 76 : 00=0,01=2,10=4 channel 3 (default 4 - 0-1.25v)
-- d215: post mix W
-- 0: 0=direct, 1=TTLR (after saturation/divide)
-- d216: chip id (W, R:read the max10 id) d000-d03f;
-- d217: copyright (R: read a short message, byte at a time)
To tak na szybko. Więcej i bardziej szczegółowo będzie w instrukcji. Oczywiście firmware cały czas się zmienia, więc i ta specyfikacja jest tymczasowa. Obecnie jest Firmware 1.1, który jest już trzecią wersją od wersji Final 1.0. I na pewno nie ostatnią. Dlatego proszę osoby, które zamówiły układ o jeszcze chwilę cierpliwości - chcę, żeby dostały układ jak najbardziej dopracowany, chociaż i wersja 1.0 działa świetnie, tylko ma mniej opcji. Więc jeśli komuś zależy na "już", to mogę wysłać.
Aha, niniejszym kończy się etap przedsprzedaży. Od teraz cena układu to będzie 199 zł.
Arguing with an engineer is a lot like wrestling in the mud with a pig, after a couple of hours you realize the pig likes it...