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

Re: Q: Videx Videoterm



Marc S Ressl wrote:
Michael J. Mahon wrote:

Marc S Ressl wrote:

Hello there,

I am emulating the Videx Videoterm for OpenEmulator (and it is mostly
done!), but I have a problem.

When scrolling past the last line, there often appear ghosts from other
lines at the last line. This also happens (more rarely) on some other
parts
of the screen.

I can understand this as the Videx firmware takes quite some time for the
scrolling, but something does not feel right. Is this ghosting visible on
real boards?

Marc, what, exactly, does the "ghosting" look like?  Is it a mixture
of the previous line with the new (scrolled) one?  Is it other random
lines showing up?  If so, do the ghosts show up preferentially at one
place, or are they pretty uniformly distributed?

It's been years since I looked at the Videoterm code, but if it updates
the SRAM asynchronously with 6845 refresh, then line "mixing" can easily
occur.  (I don't mean electrically asynchronously, just unsynchronized
with the video frame generation.)  This is the result of 6845 video
generation proceeding as the buffer contents are moved.

If the code makes an attempt to synchronize with the 6845 horizontal or
vertical blanking interval (which would account for some slowness), then
the emulation of the status reads that permit this synchronization may
not be working properly, resulting in unsynchronized text buffer updates
and consequent visible line mixing.

Some simple test cases with scrolling lines of different contents
and/or lengths should case some light on the cause.

-michael

NadaNet 3.1 for Apple II parallel computing!
Home page:  http://home.comcast.net/~mjmahon/

"The wastebasket is our most important design
tool--and it's seriously underused."



Hi Michael!

Thanks a lot for your blessings :-)!

I guess an image is worth a thousand words, so here go two images:

http://openemulator.googlecode.com/files/Videx%201.png
(here you see the ghosting at the lower right, this happens fairly often,
several times per second)

http://openemulator.googlecode.com/files/Videx%202.png
(here you see the ghosting+another effect in the middle of the screen, this
happens not very often, maybe one time per 2-3 seconds)

With the best wishes,

Marc.-

So the frequently occurring "ghost" line at the lower right is
the line just scrolled off the top of the screen, while the
less frequently occurring ghost looks like lines horizontally
displaced from where they were prior to a few scrolls.

Do these "ghosts" only last one video frame, or do they persist
longer?  (I'm betting only one frame, hence "ghost".)

I'm still guessing that this is a problem with unsynchronized
updated to the card's text buffer.

I've forgotten how the Videoterm scrolls.  Does it actually move
the buffer contents, leaving the 6845 address pointers alone, or
does it treat the text buffer like a circular buffer, updating
the 6845 address registers?

Clearly, something is not happening at the right time in this
process.

-michael

NadaNet 3.1 for Apple II parallel computing!
Home page:  http://home.comcast.net/~mjmahon/

"The wastebasket is our most important design
tool--and it's seriously underused."