From 5c8a08ce3c47f50789a0a7bdd02be30e0a932f07 Mon Sep 17 00:00:00 2001 From: Couriersud Date: Sun, 27 Jan 2008 00:53:25 +0000 Subject: [PATCH] m62.c: * fixed wrong resistor value (22K to 2.2K) - verified on spelunkr and kidniki hires pcb pictures * Changed resistor network calculation based on assumption that cs line is active either on tiles or sprites color prom. --- src/mame/video/m62.c | 46 ++++++++++++++++++++++++++++++++++++++------ 1 file changed, 40 insertions(+), 6 deletions(-) diff --git a/src/mame/video/m62.c b/src/mame/video/m62.c index 04e2ef7fbf1..e694f73647b 100644 --- a/src/mame/video/m62.c +++ b/src/mame/video/m62.c @@ -51,6 +51,40 @@ static INT32 spelunkr_palbank; -- 1 kohm resistor -- RED/GREEN/BLUE bit 0 -- 2.2kohm resistor -- RED/GREEN/BLUE + The resistor values could be verified on a hires pcb picture (spelunkr). + The schematics also exhibit one pulldown for the sprite color guns. + Since only either the sprite or tile gun is active, i.e. the other is + in tri-state, this pulldown resistor also applies to the tile color guns. + + Which of the sprite/tilemap color guns is in tri-state mode is determined + by a pal. There is no good dump of this pal. If both sprite and tilemap + should be active (i.e. not in tristate) at a time, this would due to the + pulldown resistor have slightly darker colors as a consequence. + + This can explain the spelunkr bug m62_0116u4gre. + + The kidnike bug kidniki0104u3gre even looks worse and may imho only explained + by subpixel effects, i.e. delays when switching the proms into tristate. + + Since there are no dumps of the "priority" pal, the above is + speculation. + + Priority PAL + + The PAL is at location 4F on the "T" board. The PAL's input are 3 bits + from tilemap 0, 3 bits from tilemap 1 and A11-A14: + + CB0A => 7 20 GND + CB1A => 8? 14 ==> PROM CS + CB2A => 9 P 19 ==> Tilemap select 0/1 / to connector + C14A => 12 A 11 <== Sprite priority out / to connector + C13A => 4 L 18? ==> Sprite priority in / to connector + C12A => 5 10 GND + C11A => 6 + CB0D => 1 + CB1D => 2 + CB2D => 3 + ***************************************************************************/ @@ -58,9 +92,9 @@ static const res_net_info m62_tile_net_info = { RES_NET_VCC_5V | RES_NET_VIN_TTL_OUT, { - { RES_NET_AMP_NONE, 0, 0, 4, { 22000, 1000, 470, 220 } }, - { RES_NET_AMP_NONE, 0, 0, 4, { 22000, 1000, 470, 220 } }, - { RES_NET_AMP_NONE, 0, 0, 4, { 22000, 1000, 470, 220 } } + { RES_NET_AMP_NONE, 0, 470, 4, { 2200, 1000, 470, 220 } }, + { RES_NET_AMP_NONE, 0, 470, 4, { 2200, 1000, 470, 220 } }, + { RES_NET_AMP_NONE, 0, 470, 4, { 2200, 1000, 470, 220 } } } }; @@ -69,9 +103,9 @@ static const res_net_info m62_sprite_net_info = { RES_NET_VCC_5V | RES_NET_VIN_TTL_OUT, { - { RES_NET_AMP_NONE, 0, 470, 4, { 22000, 1000, 470, 220 } }, - { RES_NET_AMP_NONE, 0, 470, 4, { 22000, 1000, 470, 220 } }, - { RES_NET_AMP_NONE, 0, 470, 4, { 22000, 1000, 470, 220 } } + { RES_NET_AMP_NONE, 0, 470, 4, { 2200, 1000, 470, 220 } }, + { RES_NET_AMP_NONE, 0, 470, 4, { 2200, 1000, 470, 220 } }, + { RES_NET_AMP_NONE, 0, 470, 4, { 2200, 1000, 470, 220 } } } };