pupa-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

VGA terminal


From: Marco Gerards
Subject: VGA terminal
Date: 09 Jan 2004 21:28:42 +0100
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3

Hi,

The VGA terminal has some problems when scrolling.  I had a quick look
at the problem last night.

The problem is actually two problems.  The first is easy to fix, it is
an incorrect range check.

The other is more difficult.  The display is scrolled by using
memmove.  This part of the code does not work because the plane to
read from is not set.  I've fixed that but it is not usable.  Because
the planes are memmoved separately you can see the individual planes
scrolling.

Gianluca told me that he wrote a function to refresh the screen (IIRC
he told me he sent the patch to pupa-devel).  This does not have the
same weird effect, I think.  This will be a bit slower than the
memmove stuff.

I think it is better to use hardware to do scrolling.  This will
prevent bad graphics when scrolling and it will be a lot faster (Ok, I
have not tested this yet...).

It will be quite tricky because the screen need to rotate (so the top
and bottom connect).  I will think about how this should be done.
This is, I think, something I can do really quickly if it is supported
by hardware.

This hardware support it quite tricky because 640*480/8 = 38400.  That
means between the beginning and the end of the screen there is a gap.
And the other problem is that 65536-38400 is not a multiple of 640/8
so when scrolling the vertical position will change.

If someone has ideas how to fix this or if it should not be done this
way at all, please tell me.  I will look at this right now.

Thanks,
Marco





reply via email to

[Prev in Thread] Current Thread [Next in Thread]