[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
DHGR Video Riddle Solved!!!
A while back I set out to create a IIe emulator that could properly handle
all of the features of the IIe, including the ones that were not properly
documented. Some of those features included the DOUBLE HIRES display
mode(s). Most of you were under the impression that the system only carried
1 DHGR mode that was 140x192x16 on a color monitor and 560x192x2 on a
monochrome monitor. I was under the impression that there were 3 distinct
modes always available, the 2 modes listed above and a third that mixes the
2 above.
As it turned out... I was right... to a point. The reason that the modes
were clearly visible to me and not to the vast majority of you was that I
had an Extended 80 Column AppleColor Card with an AppleColor RGB monitor.
That setup provided graphics that were free of the color-bleeding that comes
with composite displays.
While my old system is long-since gone, I have acquired a new one and tested
various programs on it. This is the how and why of the DHGR video display
(as best as I can figure).
There are indeed 3 modes of display for the DHGR graphics. Mode 1 is 560x192
monochrome, but due to the composite display system and the fact that the
color signal is actually on in this mode, each dot on the screen experiences
color bleeding similar to that of the HIRES display and precisely identical
to the color bleeding that occurs on the 4 lines of 80 column text below a
HIRES mixed-mode display. Why the color signal is on in this mode is still a
mystery to me. I will do some more experimenting to determine the exact
nature of this. To properly set up this mode, run this code:
STA $CO52 ;Full Screen
STA $C057 ;HIRES
STA $C050 ;Graphics
STA $C00C ;80 Columns OFF
STA $C05E ;AN3 OFF
STA $C05F ;AN3 ON
STA $C05E ;AN3 OFF
STA $C05F ;AN3 ON
STA $C00D ;80 Columns ON
STA $C05E ;AN3 OFF
-------
Mode 2 is 140x192 16 color. This is the mode most commonly associated with
DHGR. It is already well documented. To properly set up this mode, run this
code:
STA $CO52 ;Full Screen
STA $C057 ;HIRES
STA $C050 ;Graphics
STA $C00C ;80 Columns OFF
STA $C05E ;AN3 OFF
STA $C05F ;AN3 ON
STA $C05E ;AN3 OFF
STA $C05F ;AN3 ON
STA $C00D ;80 Columns ON
STA $C05E ;AN3 OFF
STA $C05F ;AN3 ON
STA $C05E ;AN3 OFF
STA $C05F ;AN3 ON
STA $C05E ;AN3 OFF
-------
Mode 3 is a mix of modes 1 & 2. The last time I mentioned this mode, someone
asked me how the system would know when to display dots and when to display
colored blocks. The answer is that if bit 7 of a byte is set then the
contents of that byte are displayed in mode 1. I havent figured out what the
effect is on surrounding color blocks that use bits from that byte yet, but
I will. To properly set up this mode, run this code:
STA $CO52 ;Full Screen
STA $C057 ;HIRES
STA $C050 ;Graphics
STA $C00C ;80 Columns OFF
STA $C05E ;AN3 OFF
STA $C05F ;AN3 ON
STA $C05E ;AN3 OFF
STA $C05F ;AN3 ON
STA $C00D ;80 Columns ON
STA $C05E ;AN3 OFF
STA $C05F ;AN3 ON
STA $C05E ;AN3 OFF
-------
Note that to get to B & W mode you just turn off AN3 after truning on 80
columns; to get to mixed you toggle the switch an extra time; to get to full
color mode you toggle the switch once more. Why modes 2 & 3 were numbered
backwards is beyond me.
AN3 also has a peculiar effect on other graphic modes. In LORES mode, AN3
causes the display to double the same way that it does in hires mode if
80COL is on. In HIRES mode, if 80COL is off AN3 causes a polarity shift that
reverses the normal effect of the high bit.
I would appreciate it if someone else would take a little time to verify
these findings. I know that these aren't the effect of the Extended 80
Column AppleColor card & monitor since I no-longer have those devices.
BTW, does anyone know where I can find an RGB card & monitor for the IIe? I
miss the crisp display!