Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
08293 Graphics Minor Always Apr 14, 2022, 16:51 Apr 21, 2022, 23:03
Tester harakari View Status Public Platform MAME (Self-compiled)
Assigned To R. Belmont Resolution Fixed OS MacOS X
Status [?] Resolved Driver apple2e.cpp
Version 0.242 Fixed in Version 0.243 Build 64-bit
Fixed in Git Commit 9c14c2e Github Pull Request # #9592
Summary MESS-specific 08293: apple2ee: Wrong High Res Colors after Enabling Double High Res
Description After enabling double high resolution mode, and then switching to high resolution, the blue color (HCOLOR=6) becomes purple. The orange color also becomes green.

This is most apparent in Total Replay and Nox Archaist, where a double high res screen can be shown and a high resolution screen is shown with the blue color becoming purple.

It's also reproducible in AppleSoft BASIC.
Steps To Reproduce Download Total Replay:
https://archive.org/download/TotalReplay/Total%20Replay%20v4.01.hdv

Run MAME:
mame apple2ee -nodebug -window -sl7 cffa2 -hard1 'Total Replay v4.01.hdv'

Total Replay loads, observe that the blue colors in the sprites are displayed on the title screen.

Type "Prince" to show the Prince of Persia title screen in Double High Res.

Press ESC to go back to the title screen.

Observed: Blue colors previously seen in the title screen and subsequent display of high res graphics are replaced with the purple color
Expected: The blue color should be displayed

=======

In AppleSoft BASIC, this routine displays all colors:
HGR:S=30:FOR C=0 TO 7:HCOLOR=C:E=S+13:FOR X=S TO E:HPLOT X,0 TO X,159:NEXT:S=S+13:NEXT

This enables double high res:
POKE 49232,0:POKE 49239,0:POKE 49246,0:POKE 49165,0
Additional Information
Github Commit
Flags
Regression Version
Affected Sets / Systems apple2ee
Attached Files
png file icon Screen Shot 2022-04-14 at 6.48.45 AM.png (209,096 bytes) Apr 14, 2022, 16:51 Uploaded by harakari
Blue colors replaced with Purple
harakari
png file icon Screen Shot 2022-04-14 at 6.49.05 AM.png (192,488 bytes) Apr 14, 2022, 16:55 Uploaded by harakari
Title Screen Before Double High Res screen displayed
harakari
png file icon Screen Shot 2022-04-13 at 1.45.06 PM.png (84,627 bytes) Apr 14, 2022, 16:58 Uploaded by harakari
Colors shown in BASIC after enabling DHR
harakari
png file icon Screen Shot 2022-04-13 at 1.43.41 PM.png (73,107 bytes) Apr 14, 2022, 17:01 Uploaded by harakari
Correct HGR colors (before DHR enabled)
harakari
Relationships
There are no relationship linked to this issue.
Notes
2
User avatar
No.20078
harakari
Tester
Apr 17, 2022, 08:27
The problem appears to be in this part of the video source code:
https://github.com/mamedev/mame/blob/master/src/mame/video/apple2.cpp#L877-L884

It looks like the root of the problem seems to be that the
m_dhires
is set to true when it shouldn't be. As a result, it's assumed that double hires is enabled without an 80 column card and it does the logic for a rev 0 Apple II.

If I comment out this check and do the logic in the else clause, the video is displayed correctly.

I'm trying to see how to fix this logic but not sure yet.
User avatar
No.20082
harakari
Tester
Apr 18, 2022, 03:45
Created PR for fix:
https://github.com/mamedev/mame/pull/9592