H/V - Sync

Hi folks,

ich have troubles to get a proper picture on my monitor with a
ATI Rage 128 and a CTX Monitor. Both the H/V - Sync are negative, but
my monitor need both to be positive,

i know that there are two bits at an address to switch between it,
but i don’t know how to code it on QNX

please help,

Regards,
Robert

Hi

Currently we do not have an option to our drivers to change
the sync polarity. This may become an option in the future.
However if you know the registers and bits to change
you could write an application to run after the graphics
driver is running to change the polarity.
You would have to attach to the pci server using pci_attach
to get the base memory address. Then the register space would
have to be mapped in to get a pointer which could be used to
access the registers. (using mmap_device_memory)

Erick.


rj <moveq@nanomonic.de> wrote:

Hi folks,

ich have troubles to get a proper picture on my monitor with a
ATI Rage 128 and a CTX Monitor. Both the H/V - Sync are negative, but
my monitor need both to be positive,

i know that there are two bits at an address to switch between it,
but i don’t know how to code it on QNX

please help,

Regards,
Robert

Hello,

thanks a lot Erick for the reply! :wink: i’ll explore it.

I don’t know if this is of interest, but i have done the
following short proggies for Windows on
a Matrox MGA G-200, which worked, ATI dosen’t switch the
polarisation with that little routines,
i suppose ATI has its own registers, but i’m not sure.



Here start -----------------

              • HSync Negative


                ; #########################################################################

.code

start:

xor eax, eax


hsync_neg:
mov dx, 3cch
in al, dx
or al, 040h
mov dx, 3c2h
out dx, al
ret


; #########################################################################

end start


\

              • HSync Positive


                ; #########################################################################

.code

start:

xor eax, eax


hsync_pos:
mov dx, 3cch
in al, dx
and al, 0BFh
mov dx, 3c2h
out dx, al
ret


; #########################################################################

end start

\

              • VSync Negaive


                ; #########################################################################

.code

start:

xor eax, eax


vsync_neg:
mov dx, 3cch
in al, dx
or al, 080h
mov dx, 3c2h
out dx, al
ret


; #########################################################################

end start

\

              • VSync Positive


                ; #########################################################################

.code

start:

xor eax, eax


vsync_pos:
mov dx, 3cch
in al, dx
and al, 07Fh
mov dx, 3c2h
out dx, al
ret


; #########################################################################

end start





Regards,
Robert





Hardware Support Account schrieb:

Hi

Currently we do not have an option to our drivers to change
the sync polarity. This may become an option in the future.
However if you know the registers and bits to change
you could write an application to run after the graphics
driver is running to change the polarity.
You would have to attach to the pci server using pci_attach
to get the base memory address. Then the register space would
have to be mapped in to get a pointer which could be used to
access the registers. (using mmap_device_memory)

Erick.

rj <> moveq@nanomonic.de> > wrote:
Hi folks,

ich have troubles to get a proper picture on my monitor with a
ATI Rage 128 and a CTX Monitor. Both the H/V - Sync are negative, but
my monitor need both to be positive,

i know that there are two bits at an address to switch between it,
but i don’t know how to code it on QNX

please help,

Regards,
Robert