Copiing buffer to VGA 12h mode *HELP* 2nd try

Hi!

I got a problem. I'm doing a simple game and I want to load there static
pictures. It is in VGA mode 12h (640x480x16). The picture I have is about
300x400 pixels, so it fits in one 64kB block and it is 2pixels in one
byte.

 7  6  5  4  3  2  1  0
+--+--+--+--+--+--+--+--+
| 1st pix   | 2nd pix   |
+--+--+--+--+--+--+--+--+

1) Is there some fast way to convert this bytes to the bitplanes? (I looks
like I'd have to do it 8 pixels = 4 bytes at a time).

2) The most important. HOW TO COPY THIS IN VGA BUFFER? When I use simple
copy to $A000:xxxx, I replace all four bitplanes with 1 byte = it is black
and white. I think there should be some tricks with the graphics port, but
I cannot get any informations how to do it (it is always how to draw a
single pixel - that works, but why to do it in this way, when I shoukd be
able to do it 8 times faster).

Thanx a lot

Vaclav Pribik