Subject: Re: none
To: Alex Kirk <alex@schnarff.com>
From: Marcus Comstedt <marcus@mc.pp.se>
List: port-dreamcast
Date: 10/04/2002 19:01:37
"Alex Kirk" <alex@schnarff.com> writes:
> Marcus, I'm sending this message to you primarily because you're the
> one with the technical knowledge to answer, and the list because it'll
> be good for archival purposes. When I first started working with
> NetBSD/Dreamcast, I asked about the video going off the edge of my TV
> screen; I believe you mentioned something about recompiling my kernel
> to fix it. Well, I looked at man options and wscons a bit, and figured
> that setting my display to 80x25 instead of 80x30 would do the trick;
> I tried compiling a new kernel with "options WSEMUL_80X25", and tried
> setting console 0 to 80x25 in /etc/wscons.conf. Neither seemed to
> work. Next, I figured I should take a look at the video driver, to see
> if there were any obvious variables I could tweak. Not being much more
> than a beginning C programmer, and knowing even less about how the OS
> files are laid out, I poked around until I found
> /usr/src/sys/arch/dreamcast/dev/pvr.c, which appeared to be the video
> driver (I was going from the line "pvr0 at shb0: 640 x 480, 16bpp,
> NTSC, composite" in dmesg). In there, I noticed a section commented as
> being for 60 Hz NTSC, and figured I was in the right place. I tried
> dropping the v_absolute_size variable by 100 and recompiling my
> kernel; that caused my display to be unreadable. I set that back and
> tried dropping the vborder_stop variable by 50, and that didn't seem
> to do much, if anything. Am I even in the right neighborhood here? If
> not, what should I be doing? Any pointers would be greatly
> appreciated. Alex Kirk
Changing the border start/stop will not do much, since it only
controls where the _border_ is displayed (and it's black, so you won't
see it anyway). If you want to move the actual picture, it's voffset
that you need to change.
If you want to change the amount of graphics shown, it's
display_lines_per_field you need to change. v_absolute_size is the
total number of scanlines including vertical blank and sync, and it's
specified in the NTSC/PAL standards what it should be, so changing it
will only upset your TV.
Finally, if you do reduce display_lines_per_field, you should also
reduce dc_ht in the fb_debconfig struct by the same amount; otherwise
you'll get text written to a part of the framebuffer that isn't even
displayed.
// Marcus