Deduped images
This commit is contained in:
parent
4eef8b2919
commit
9e52de9586
233 changed files with 128 additions and 128 deletions
|
|
@ -41,7 +41,7 @@
|
|||
<H3><A NAME="Heading8"></A><FONT COLOR="#000077">Notes on Set/Reset</FONT></H3>
|
||||
<P>The set/reset circuitry is not active in write modes 1 or 2. The Enable Set/Reset register is inactive in write mode 3, but the Set/Reset register provides the primary drawing color in write mode 3, as discussed in the next chapter.
|
||||
</P>
|
||||
<TABLE WIDTH="100%"><TD WIDTH="5%" VALIGN="TOP"><IMG SRC="images/25-02i.jpg"><TD WIDTH="95%"><SMALL><I>Be aware that because set/reset directly replaces CPU data, it does not necessarily have to force an entire display memory byte to 0 or 0FFH, even when set/reset is replacing CPU data for all planes. For example, if the Bit Mask register is set to 80H, the set/reset circuitry can only modify bit 7 of the destination byte in each plane, since the other seven bits will come from the latches for each plane. Similarly, the set/reset value for each plane can be modified by that plane’s ALU. Once again, this illustrates that set/reset merely replaces the CPU data for selected planes; the set/reset value is then processed in exactly the same way that CPU data normally is.</I></SMALL>
|
||||
<TABLE WIDTH="100%"><TD WIDTH="5%" VALIGN="TOP"><IMG SRC="images/i.jpg"><TD WIDTH="95%"><SMALL><I>Be aware that because set/reset directly replaces CPU data, it does not necessarily have to force an entire display memory byte to 0 or 0FFH, even when set/reset is replacing CPU data for all planes. For example, if the Bit Mask register is set to 80H, the set/reset circuitry can only modify bit 7 of the destination byte in each plane, since the other seven bits will come from the latches for each plane. Similarly, the set/reset value for each plane can be modified by that plane’s ALU. Once again, this illustrates that set/reset merely replaces the CPU data for selected planes; the set/reset value is then processed in exactly the same way that CPU data normally is.</I></SMALL>
|
||||
</TABLE>
|
||||
<H3><A NAME="Heading9"></A><FONT COLOR="#000077">A Brief Note on Word OUTs</FONT></H3>
|
||||
<P>In the early days of the EGA and VGA, there was considerable debate about whether it was safe to do word <B>OUT</B>s (<B>OUT DX,AX</B>) to set Index/Data register pairs in a single instruction. Long ago, there were a few computers with buses that weren’t quite PC-compatatible, in that the two bytes in each word <B>OUT</B> went to the VGA in the wrong order: Data register first, then Index register, with predictably disastrous results. Consequently, I generally wrote my code in those days to use two 8-bit <B>OUT</B>s to set indexed registers. Later on, I made it a habit to use macros that could do either one 16-bit <B>OUT</B> or two 8-bit <B>OUT</B>s, depending on how I chose to assemble the code, and in fact you’ll find both ways of dealing with <B>OUT</B>s sprinkled through the code in this part of the book. Using macros for word OUTs is still not a bad idea in that it does no harm, but in my opinion it’s no longer necessary. Word <B>OUT</B>s are standard now, and it’s been a long time since I’ve heard of them causing any problems.</P><P><BR></P>
|
||||
|
|
|
|||
Loading…
Reference in a new issue