TIP: Click on subject to list as thread! ANSI
echo: 80xxx
to: PETER VAN HERTUM
from: BRIAN MCCLOUD
date: 1997-03-05 16:59:00
subject: scrolling

-> Yo All,
->
-> How do I move image blocks - not with the CPU ?
->
-> With the video hardware ?
Really, you can't do it without the CPU... but I think what you really
mean here is without BIOS calls.
The fastest way to do that on most video hardware is to calculate the
source and destination address for each line (if you're doing multiple
lines, you can store the source & destination in a register, and add the
screen length (in bytes, not necessarily pixels) each time.  then for
each line you use a REP MOVSB/MOVSW command to transfer the data.  if
you want to clear out the place it was moved from, you can reset ES:DI
back to the beginning and get CX again, then use a REP STOSB/STOSW to
fill it with a certain value.  The EGA hardware requires a thoroughly
different method, and I think VGA/SVGA 16-color modes also have to use
the method.  I won't fully explain that unless you need me to.
((Cloud))
B$SN$
--- PCBoard (R) v15.3/M 10
---------------
* Origin: Next time, Dial The Wrong Number! (209) 943-1880 (1:208/205)

SOURCE: echomail via exec-pc

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.