This function uses the BitBlt hardware (Bit Block Transfer) to write bit patterns into CGA graphics memory corresponding to a string of characters. It is faster than the usual Write String BIOS functions, can output text bitmaps of various sizes, and also supports output modes other than simply overwrite. The BitBlt hardware is repeatedly invoked for each of the characters in the string using the currently active bitmap table.
If the existing Display Data is D, the Source Data is S, and the resulting Display Data is Z, then the table below gives Z as a function of m, D, and S. Modes 2,4,11, and 13 are not supported.
Mode Result Comments
==================================================
0 0 Clears all destination bits
--------------------------------------------------
1 -(S OR D) OR in source, then complement
--------------------------------------------------
3 -S Write source, then complement
--------------------------------------------------
5 -D Complement destination
--------------------------------------------------
6 S XOR D XOR in source
--------------------------------------------------
7 -(S AND D) AND in source, then complement
--------------------------------------------------
8 S AND D AND in source
--------------------------------------------------
9 -(S XOR D) XOR in source, then complement
--------------------------------------------------
10 NOP No Change
--------------------------------------------------
12 S Write source
--------------------------------------------------
14 S OR D OR in source.
--------------------------------------------------
15 1 Set all destination bits
--------------------------------------------------