This is cool you people are far more cleaver than I will ever be.
I've just tried this, and it's fast, up to 1024x768 16bpp or 800x600 24bpp on my system, it slows down beyond these resolutions.
The main reason for this appears to be that you've used double buffer buffering, you should use page switching, it uses far less system memory, and twice as much video memory, it's also a hell of a lot faster.
I have quickly scanned through the source code, I can already see one easy peasy optimisation.
Some ware, and I forget exactly, you coded something like;
Shl AX, 3
Shr AX, 1
You should have just coded;
Shl AX, 2
There are probably many more too, I'm still pretty new to assembly code.
It is still faster than Linux even when I run it at 640x480 8bpp.
If you could do something worth while, and write a generic Linux video driver this fast it would be most appreciated.
[ July 14, 2004: Message edited by: Aloone ]