Why does double hires that displays perfectly on an actual Apple IIe go wrong in AppleWin?
And as a side note, is there some way to attach a jpeg image to a message post here?
I'd like to attach to show the problem I'm talking about.
On Thursday, April 27, 2023 at 11:45:46 PM UTC-7, Alan Rat wrote:
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
* press F7 to enter the debugger,
* type: BPM C050:C05F
* press Enter,
* type: BPM C00C:C00D
* press Enter, and
* press F7 again to exit the debugger, then
* Run your program.
AppleWin will switch back into the debugger when a softswitch (within the range specified above) is triggered. You can continue your program by pressing F7 (or alt. typing G and pressing Enter.)
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:
1. Encode the binary to text (e.g. uuencode), or
2. Upload it to an image hosting site (e.g. imgur) and then share the URL.
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.
https://github.com/AppleWin/AppleWin/issues/new
Thanks,
Michael
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...?
On Friday, April 28, 2023 at 8:29:10 AM UTC-7, Alan Rat wrote:exits/re-enters graphics mode before hitting the softswitches in order.
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
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.manual - they all follow the same protocol.
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"
More details https://github.com/AppleWin/AppleWin/issues/523 and follow-on issues.
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 468 |
Nodes: | 16 (2 / 14) |
Uptime: | 19:05:14 |
Calls: | 9,440 |
Calls today: | 3 |
Files: | 13,594 |
Messages: | 6,109,824 |