I havn't actually tried to send values to the PLL yet. I will give it a go and see what happens (PC with no video probably) luckily because I use an lcd monitor, even the slightest change in frequency can be noticed. However that can be detrimental as well if you end up changing the frequency substantially the picture can go away completely.
I will let you know what happens (maybee I won't be able to see to type).
Oh yes there was one other thing I wished to ask. Do you know where the memory positions are for the second head, that is what I actually have to control in the end, not the primary. Although I can probably use the primary buffer status to determine frame decodes, I need to get the vertical interval from the TV output.
[edited by - mp3man2000 on April 25, 2004 8:55:51 PM]
NVidia CRTC Registers Mapping
Well it is all starting to seem too hard. I have managed to send the PLL values and it changes frequency, but I found that I have to check each byte after it has been sent and resend it if it is different (which happens a lot). This seems very ugly to me and would appear like I am not the only one sending values. Anyway I have locked up the PC a bit, but persisting.
Aye. Probably much more work than it''s worth.
hmm, after resending, is the PLL value correct? Is it a problem with granularity? If not, and something else is writing to it at the same time, not good at all
hmm, after resending, is the PLL value correct? Is it a problem with granularity? If not, and something else is writing to it at the same time, not good at all
I only can give a little help with nVidia dualhead behaviour.
We will use 0x3d4/0x3d5 out writes.
To get access to CRTC2 registers you should:
1. Unlock CRTC registers writing 0x57 to 0x1f
2. Move CRTC registers ownership to second head writing 0x03 to 0x44
3. Do some stuff
4. Lock CRTC regiosters writing 0x99 to 0x1f
To return ownership to first head you should write 0x00 to 0x44.
(with unlocking - locking again).
It works for me.
Please look closer to
http://www.textsure.net/~ela/download/rivatv/rivatv/src/v4l-riva.c
to find details.
WBR, Alexey
[edited by - aktinkon on May 18, 2004 3:35:26 AM]
We will use 0x3d4/0x3d5 out writes.
To get access to CRTC2 registers you should:
1. Unlock CRTC registers writing 0x57 to 0x1f
2. Move CRTC registers ownership to second head writing 0x03 to 0x44
3. Do some stuff
4. Lock CRTC regiosters writing 0x99 to 0x1f
To return ownership to first head you should write 0x00 to 0x44.
(with unlocking - locking again).
It works for me.
Please look closer to
http://www.textsure.net/~ela/download/rivatv/rivatv/src/v4l-riva.c
to find details.
WBR, Alexey
[edited by - aktinkon on May 18, 2004 3:35:26 AM]
Thank you for the dual head information. I will try switching as you suggest. The project has been halted at the moment because the company that supply the codec seem to have solved the problem by using windows media player for displaying the video. However I am still interested in learning about the graphics card programming anyway.
I have also been sidetracked learning OpenGL, which I have found most rewarding, and I am trying to get the SMPEG library to compile on win32 using the Borland compiler, I have managed to compile the plaympeg test program using the dll that someone else has built, however I would like to compile a library with mpeg audio playback only, I don’t need video playback.
Anyway this little project has now sidetracked me into writing a game, which is fun, in fact I am rewriting the classic game lunar lander, well maybe it isn’t classic but when it came out I loved it.
If anyone is interested I could post what I have done so far and you could have a look.
Thanks everyone for your input.
I will post it anyway, I am curious for some responses.
I have also been sidetracked learning OpenGL, which I have found most rewarding, and I am trying to get the SMPEG library to compile on win32 using the Borland compiler, I have managed to compile the plaympeg test program using the dll that someone else has built, however I would like to compile a library with mpeg audio playback only, I don’t need video playback.
Anyway this little project has now sidetracked me into writing a game, which is fun, in fact I am rewriting the classic game lunar lander, well maybe it isn’t classic but when it came out I loved it.
If anyone is interested I could post what I have done so far and you could have a look.
Thanks everyone for your input.
I will post it anyway, I am curious for some responses.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement