Why does double hires that displays perfectly on an actual Apple IIe go wrong in AppleWin?Before you open a bug report on GitHub can you report the order of soft-switches you're hitting please? Start AppleWin then
And as a side note, is there some way to attach a jpeg image to a message post here?No, Usenet does not support binary attachments (thank god), only text. You must either:
I'd like to attach to show the problem I'm talking about.Opening a bug report on GitHub will let you attach your program, disk image, and screenshots if we can't diagnosis the issue here.
I can tell you that my program starts off with PRINT CHR$(4)"PR#3":PRINT (via DOS 3.3) --> C00DThis is AppleWin's emulation of the Video-7 / AppleColor / Le Chat Mauve RGB card protocol for DHR mono and other modes. If you switch your video setting from RGB to another (e.g. Composite) this problem will go away. Or change your program so that it exits/re-enters graphics mode before hitting the softswitches in order.
then the statement POKE 49246,PEEK(49239)=PEEK(49234) which triggers in the order C057 C052 C05E
and then POKE49232,0 for C050
C050 is then in effect all during execution, never C051
Double hires is thus displayed. When the program goes to the lores display, it issues:
PRINT CHR(17); which sets C00C
then the statement POKE 49238,PEEK(49247)=PEEK(49235) for C05F C053 C056
To return to double hires, it issues
PRINT CHR(18); which sets C00D
and again uses POKE 49246,PEEK(49239)=PEEK(49234) for C057 C052 C05E
and double hires is back, without any problem on an actual Apple IIe, but not so well in AppleWin.
I'm wondering if no one was ever previously aware of AppleWin displaying double hires in monochrome...?
On Friday, April 28, 2023 at 8:29:10rC>AM UTC-7, Alan Rat wrote:--- Synchronet 3.21b-Linux NewsLink 1.2
I can tell you that my program starts off with PRINT CHR$(4)"PR#3":PRINT (via DOS 3.3) --> C00D
then the statement POKE 49246,PEEK(49239)=PEEK(49234) which triggers in the order C057 C052 C05E
and then POKE49232,0 for C050
C050 is then in effect all during execution, never C051
Double hires is thus displayed. When the program goes to the lores display, it issues:
PRINT CHR(17); which sets C00C
then the statement POKE 49238,PEEK(49247)=PEEK(49235) for C05F C053 C056 To return to double hires, it issues
PRINT CHR(18); which sets C00D
and again uses POKE 49246,PEEK(49239)=PEEK(49234) for C057 C052 C05E
and double hires is back, without any problem on an actual Apple IIe, but not so well in AppleWin.
I'm wondering if no one was ever previously aware of AppleWin displaying double hires in monochrome...?This is AppleWin's emulation of the Video-7 / AppleColor / Le Chat Mauve RGB card protocol for DHR mono and other modes. If you switch your video setting from RGB to another (e.g. Composite) this problem will go away. Or change your program so that it exits/re-enters graphics mode before hitting the softswitches in order.
As you noticed, the modes are activated by loading a bit into 80COL and then turning AN3 off/on to shift the bit into a 2-bit register.
Mode 1 - Monochrome 560 x 192
Write $C00C (80COL off) - loads 0
Write $C05E (AN3 off)
Write $C05F (AN3 on) - shifts 0 into register
Write $C05E (AN3 off)
Write $C05F (AN3 on) - shifts 0 into register
Write $C00D (80COL on)
Write $C05E (AN3 off) - re-enable DHGR
Mode 2 - Color 140 x 192
Write $C00D (80COL on) - loads 1
Write $C05E (AN3 off)
Write $C05F (AN3 on) - shifts 1 into register
Write $C05E (AN3 off)
Write $C05F (AN3 on) - shifts 1 into register
Write $C05E (AN3 off) - re-enable DHGR
There's also weird Mode 3 (shift in 0 then 1), where the otherwise unused high bits of each DHGR byte set the output to monochrome (0) or color (1). This is detailed in the Video-7 RGB manual or Apple's "Extended 80-Column Text/AppleColor Adaptor Card" manual - they all follow the same protocol.
More details https://github.com/AppleWin/AppleWin/issues/523 and follow-on issues.
| Sysop: | Amessyroom |
|---|---|
| Location: | Fayetteville, NC |
| Users: | 59 |
| Nodes: | 6 (0 / 6) |
| Uptime: | 19:26:16 |
| Calls: | 810 |
| Calls today: | 1 |
| Files: | 1,287 |
| D/L today: |
10 files (21,017K bytes) |
| Messages: | 193,989 |