[#2]
Re: Indivision ECS GFX - Przegladarka Datatypow
@neoCDTV,
post #1
Gratuluje! Widzę, że używasz do wyświetlania tego samego kodu, który był użyty w ADoom'ie? Ja od jakiegoś czasu próbuje przepisać ten kawałek asm w ANSI C, ale na razie bez sukcesów (chcę napisać sterownik do NetBSD)...
Nie wiem czy próbowałeś sam robić to co w dokumentacji opisane jest w rozdziale 3. Ja próbowałem i nie zabrnąłem daleko:
ivecs_cpld_writereg: write value 5000 at pa dff1f0 (va 6911f0)
ivecs_cpld_writereg: write value b000 at pa dff1f0 (va 6911f0)
ivecs_cpld_writereg: write value 3c0 at pa dff1f4 (va 6911f4)
ivecs_cpld_writereg: write value f000 at pa dff1f0 (va 6911f0)
ivecs_delay: delay for 3000000 us (3 seconds) (delaydivisor 100) <---- ekran wyłącza się tu
ivecs_delay: delay for 3000000 us (3 seconds) (delaydivisor 100)
ivecs_fpga_writereg: select reg 0 at pa dff0ac (va 6910ac)
ivecs_fpga_writereg: write value fa50 into reg 0 at pa dff0bc
ivecs_fpga_readreg: select reg 7 at pa dff0ac (va 6910ac)
ivecs_fpga_readreg: read reg 7 at pa dff0bc got 7 <---- oczywiście źle
couldn't switch to graphics core (status reg = 7)
Z dokumentacji wynika, że odczytując rejestr 7 powinienem uzyskać wartość 3000.
Czasami odczyt tego rejestru zwraca jakieś inne bezsensowne wartości. Co ciekawe mimo złej zwracanej wartości, mogę wykonać procedurę opisaną w rozdziale 4 i ekran ECS wraca, z czego można wysnuć wniosek, że przynajmniej układ CPLD działa prawidłowo w tej sytuacji. Oczywiście ADoom mi śmiga, więc sam Indivision jest sprawny... Może masz jakieś pomysły, sorry za taki offtop ;). Pytałem mailowo o to zarówno Jensa jak i Olivera, ale nigdy nie dostałem żadnej odpowiedzi...