Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
05052 Color/Palette Minor Always Oct 31, 2012, 13:41 Dec 16, 2023, 17:07
Tester trebor View Status Public Platform MAME (Unofficial Binary)
Assigned To Resolution Open OS
Status [?] Confirmed Driver
Version 0.147u1 Fixed in Version Build 64-bit
Fixed in Git Commit Github Pull Request #
Summary 05052: dkong dkongo: Switching to TKG-02 (Radarscope Conversion) is no longer creating the proper color palette
Description Starting with MAME 0.147u1 Donkey Kong's color palette is not updating properly when switching Video Hardware --> TKG-04 to TKG-02. A blue 'film' is seen across the screen; palette colors not correct.
Steps To Reproduce -Select dkong ROM.
-Press 'Tab' to bring up internal menu.
-Scroll down to "Driver Configuration" [Newer versions of MAME list this as "Machine Configuration"].
-Press 'Enter'.
-Use arrows keys to switch "Video Hardware" from "TKG-04 (Two board set)" to
"TKG-02 (Radarscope Conversion)".
Additional Information Out of 130,000+ Donkey Kong cabinets sold [ https://en.wikipedia.org/wiki/Arcade_game#cite_note-DonkeyKong-69 ], at best only a couple thousand were Radarscope hardware conversions. A rare version that hopefully can be preserved and represented properly under MAME, once again.
Github Commit
Flags
Regression Version 0.147u1
Affected Sets / Systems dkong dkongo
Attached Files
png file icon DK_TKG-02_Comp.png (17,498 bytes) Aug 13, 2016, 01:38 Uploaded by trebor
TKG-02 working properly under 0.147 and broke under 0.147u1
trebor
Relationships
There are no relationship linked to this issue.
Notes
11
User avatar
No.13047
trebor
Tester
Aug 12, 2016, 18:32
MAME 0.147 also has the proper behavior of the switch in place.
This narrows down the break from between MAME 0.147 on Sept 17, 2012 to MAME 0.147u2 on Oct 30, 2012.
User avatar
No.13048
trebor
Tester
Aug 12, 2016, 20:49
Narrowing it down even further, the breakage is evident under MAME 0.147u1 as well.

MAME 0.147 = September 17, 2012 = Palette switch works fine - TKG-02 Colors correct.
MAME 0.147u1 = October 8, 2012 = Palette switch is broken - TKG-02 Blue film on screen instead.
User avatar
No.13049
trebor
Tester
Aug 13, 2016, 01:12
Here are the list of updates that impacted dkong between MAME 0.147 and MAME 0.147u1:

Monday 17th September, 2012
http://mame.dorando.at/svn/?rev=17962
Memory handler normalization, part 1.
READ/WRITE_DEVICE*_HANDLERs are now passed an
address_space &, and the 8-bit variants get a mem_mask
as well. This means they are now directly compatible
with the member function delegates. Added a generic
address space to the driver_device that can be used
when no specific address space is available. Also
added DECLARE_READ/WRITE_DEVICE*_HANDLER macros to
declare device callbacks with default mem_mask
parameters

http://mame.dorando.at/svn/?rev=17964
Memory handler normalization, part 2. Change legacy
read/write handlers to take an address_space & instead
of an address_space *. Also update pretty much all other
functions to take a reference where appropriate.

http://mame.dorando.at/svn/?rev=17965
Memory handler cleanup 3. Add mem_mask parameter
to 8-bit handlers to match the others. To ease
pain, added DECLARE_READ/WRITE_HANDLER macros that
set up a default parameter. Also updated devcb so
that the handlers can be called with or without the
mem_mask.

http://mame.dorando.at/svn/?rev=17968
Modernized screen update calls (no whatsnew)


Tuesday 18th September, 2012
http://mame.dorando.at/svn/?rev=17987
manual cleanup of mame and mess includes (no whatsnew)

http://mame.dorando.at/svn/?rev=17989
changed most of screen.machine() to machine() (no whatsnew)

http://mame.dorando.at/svn/?rev=17997
INTERRUPT_GEN -> INTERRUPT_GEN_MEMBER (no whatsnew)


Wednesday 19th September, 2012
http://mame.dorando.at/svn/?rev=18012
Removed device_memory_interface from driver_device, fixes issues with dkong clones, and various others, require clean compile (no whatsnew)

http://mame.dorando.at/svn/?rev=18021
dkong fix (no whatsnew)

http://mame.dorando.at/svn/?rev=18028
Since nobody checks for NULLs anyway, make
device_memory_interface::space() assert against NULL and
return a reference, and pushed references throughout all
address space usage in the system. Added a has_space()
method to check for those rare case when it is ambiguous.

Also reinstated the generic space and added fatal error
handlers if anyone tries to actually read/write from it.


Sunday 23rd September, 2012
http://mame.dorando.at/svn/?rev=18101
Fix for MT5018. [Couriersud]
Also improves blue background levels and gradient for Radar Scope.


Monday 24th September, 2012
http://mame.dorando.at/svn/?rev=18113
Introducing TIMER_CALLBACK_MEMBER and modernization part 1 (no whatsnew)


Friday 28th September, 2012
http://mame.dorando.at/svn/?rev=18186
Replace some *_DEVICE_HANDLER with _MEMBER calls, mostly audio (no whatsnew)


Tuesday 2nd October, 2012
http://mame.dorando.at/svn/?rev=18246
typo (no, not a typo in the original games titlescreen, but indeed a typo in MAME)

http://mame.dorando.at/svn/?rev=18252
fix dkong3 crash

Sunday 7th October, 2012
http://mame.dorando.at/svn/?rev=18327
srcclean (nw)
User avatar
No.13050
trebor
Tester
Aug 13, 2016, 01:22
Sunday 23rd September, 2012
http://mame.dorando.at/svn/?rev=18101
Fix for MT5018. [Couriersud]
Also improves blue background levels and gradient for Radar Scope.

The above appears to be the strongest candidate for the regression as there are a couple of references to "DKONG_RADARSCP_CONVERSION".
User avatar
No.14903
tedgreen
Developer
Mar 29, 2018, 16:18
Changing the blue radarscp_net_info from RES_NET_AMP_EMITTER to RES_NET_AMP_DARLINGTON on line 133 of video/dkong.cpp seems to improve the blue background level.
Perhaps the dkong conversion has the darlington pair for blue level.
User avatar
No.14906
trebor
Tester
Mar 31, 2018, 14:06
Confirmed and *THANK YOU* tedgreen!

Tested under MAME 0.196, changing the blue radarscp_net_info from RES_NET_AMP_EMITTER to RES_NET_AMP_DARLINGTON on line 133 of video/dkong.cpp, fixes the problem.
User avatar
No.16036
MetalGod
Senior Tester
Jan 15, 2019, 16:21
It seems the provided solution was never integrated into official mame.
User avatar
No.20450
trebor
Tester
Aug 13, 2022, 11:37
Solution still not integrated as of MAME 0.246; just the file location and name are slightly different now under more recent versions:

Change the blue radarscp_net_info from RES_NET_AMP_EMITTER to RES_NET_AMP_DARLINGTON on line 133 of \src\mame\nintendo\dkong_v.cpp

The above (still) fixes the problem.
User avatar
No.21883
trebor
Tester
Dec 15, 2023, 17:43
edited on: Dec 15, 2023, 17:46
Tried submitting the update to MAME dev, but it was rejected by the project coordinator with the following response:

"MT05052 doesn’t provide any evidence that the current behaviour is wrong. It simply says that the fix for MT05018 changed the colours.
Without any real supporting evidence, this pull request will be closed."

For the obviously remaining open bug report, besides the screenshots and very evident wrong colors, there is this example of video footage directly from a red cabinet, TKG-02 version, as well:

Seems like we're SOL of having this relatively rarer piece of Arcade History represented both properly and officially by MAME for the time being. It has been broken since 147u1 release in October 2012. Maybe another 11+ years from now, we will see a fix implemented.
User avatar
No.21884
Robbbert
Senior Tester
Dec 16, 2023, 03:07
Probably a good idea to link to the PR in question, so that everyone can see what you're talking about.

https://github.com/mamedev/mame/pull/11170
User avatar
No.21885
trebor
Tester
Dec 16, 2023, 17:07
As mentioned earlier in the thread, here is the change itself for those who are interested:

2 changes: 1 addition & 1 deletion2
src/mame/nintendo/dkong_v.cpp
@@ -130,7 +130,7 @@ static const res_net_info radarscp_net_info =
{
{ RES_NET_AMP_DARLINGTON, 470 * TRS_J1, 470*(1-TRS_J1), 3, { 1000, 470, 220 } },
{ RES_NET_AMP_DARLINGTON, 470 * TRS_J1, 470*(1-TRS_J1), 3, { 1000, 470, 220 } },
- { RES_NET_AMP_EMITTER, 680 * TRS_J1, 680*(1-TRS_J1), 2, { 470, 220, 0 } } /* radarscp */
+ { RES_NET_AMP_DARLINGTON, 680 * TRS_J1, 680*(1-TRS_J1), 2, { 470, 220, 0 } } /* TKG-02 (Radarscope Conversion) */
}
};

https://github.com/mamedev/mame/pull/11170/commits/142ee0084fe2b8a360bd7773aa032f3ced86c3a7