summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Angelo Salese <angelosa@users.noreply.github.com>2008-10-14 18:31:05 +0000
committer Angelo Salese <angelosa@users.noreply.github.com>2008-10-14 18:31:05 +0000
commitf4e0931b93f6f06b29d8e7667c02a3993ddd402d (patch)
tree52df7b92efef373e199d5fe191026901feb32a43
parent5537bbe8a5300fc32b572cfbdec50596a0353a4d (diff)
Fixed the colors of Yumefuda.
Added two new palette functions in generic.c: paletteram_xRRRRRGGGGGBBBBB_split1_w() and paletteram_xRRRRRGGGGGBBBBB_split2_w() (used by Yumefuda)
-rw-r--r--src/emu/video/generic.c12
-rw-r--r--src/emu/video/generic.h2
-rw-r--r--src/mame/drivers/yumefuda.c15
3 files changed, 20 insertions, 9 deletions
diff --git a/src/emu/video/generic.c b/src/emu/video/generic.c
index 5c89c0de3fb..0fd4d44f23e 100644
--- a/src/emu/video/generic.c
+++ b/src/emu/video/generic.c
@@ -918,6 +918,18 @@ WRITE8_HANDLER( paletteram_xRRRRRGGGGGBBBBB_le_w )
set_color_555(machine, offset / 2, 10, 5, 0, paletteram16_le(offset));
}
+WRITE8_HANDLER( paletteram_xRRRRRGGGGGBBBBB_split1_w )
+{
+ paletteram[offset] = data;
+ set_color_555(machine, offset, 10, 5, 0, paletteram16_split(offset));
+}
+
+WRITE8_HANDLER( paletteram_xRRRRRGGGGGBBBBB_split2_w )
+{
+ paletteram_2[offset] = data;
+ set_color_555(machine, offset, 10, 5, 0, paletteram16_split(offset));
+}
+
WRITE16_HANDLER( paletteram16_xRRRRRGGGGGBBBBB_word_w )
{
COMBINE_DATA(&paletteram16[offset]);
diff --git a/src/emu/video/generic.h b/src/emu/video/generic.h
index ac8eb25126b..30e6cdd5527 100644
--- a/src/emu/video/generic.h
+++ b/src/emu/video/generic.h
@@ -186,6 +186,8 @@ WRITE8_HANDLER( paletteram_xBBBBBRRRRRGGGGG_split1_w ); /* uses paletteram[] */
WRITE8_HANDLER( paletteram_xBBBBBRRRRRGGGGG_split2_w ); /* uses paletteram_2[] */
WRITE8_HANDLER( paletteram_xRRRRRGGGGGBBBBB_le_w );
+WRITE8_HANDLER( paletteram_xRRRRRGGGGGBBBBB_split1_w );
+WRITE8_HANDLER( paletteram_xRRRRRGGGGGBBBBB_split2_w );
WRITE16_HANDLER( paletteram16_xRRRRRGGGGGBBBBB_word_w );
WRITE16_HANDLER( paletteram16_xGGGGGRRRRRBBBBB_word_w );
diff --git a/src/mame/drivers/yumefuda.c b/src/mame/drivers/yumefuda.c
index ac6e2442b68..bdd5d66562b 100644
--- a/src/mame/drivers/yumefuda.c
+++ b/src/mame/drivers/yumefuda.c
@@ -11,12 +11,9 @@ Notes:
TODO:
-Correct Bankswitch emulation.Obviously I'm not happy with the current implementation...
-
-Finish controls.
-
--Custom RAM emulation.
-
--Fix the colors.
+-"Custom RAM" emulation might be a simple protection issue.
+-Need a proper screenshot of the real thing for the colors but I think they are accurate.
============================================================================================
Code disassembling
@@ -194,7 +191,6 @@ static WRITE8_HANDLER( mux_w )
mux_data = data & ~0xc0;
}
-
/***************************************************************************************/
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
@@ -203,7 +199,8 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0xa7fc, 0xa7fc) AM_WRITE(prot_lock_w)
AM_RANGE(0xa7ff, 0xa7ff) AM_WRITE(eeprom_w)
AM_RANGE(0xaf80, 0xafff) AM_READWRITE(custom_ram_r, custom_ram_w) AM_BASE(&cus_ram) /*260d - 2626*/
- AM_RANGE(0xb000, 0xb0ff) AM_RAM_WRITE(paletteram_RRRGGGBB_w) AM_BASE(&paletteram) /*Wrong format*/
+ AM_RANGE(0xb000, 0xb07f) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_split1_w) AM_BASE(&paletteram) /*Custom Format*/
+ AM_RANGE(0xb080, 0xb0ff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_split2_w) AM_BASE(&paletteram_2) /*Custom Format*/
AM_RANGE(0xc000, 0xc3ff) AM_RAM_WRITE(yumefuda_vram_w) AM_BASE(&videoram)
AM_RANGE(0xd000, 0xd3ff) AM_RAM_WRITE(yumefuda_cram_w) AM_BASE(&colorram)
AM_RANGE(0xe000, 0xffff) AM_RAM
@@ -246,7 +243,7 @@ static MACHINE_DRIVER_START( yumefuda )
MDRV_SCREEN_VISIBLE_AREA(0, 32*8-1, 0, 32*8-1)
MDRV_GFXDECODE( yumefuda )
- MDRV_PALETTE_LENGTH(0x100)
+ MDRV_PALETTE_LENGTH(0x80)
MDRV_VIDEO_START( yumefuda )
MDRV_VIDEO_UPDATE( yumefuda )
@@ -439,4 +436,4 @@ ROM_START( yumefuda )
ROM_LOAD("zg001003.u3", 0xc000, 0x4000, CRC(5822ff27) SHA1(d40fa0790de3c912f770ef8f610bd8c42bc3500f))
ROM_END
-GAME( 198?, yumefuda, 0, yumefuda, yumefuda, 0, ROT0, "Alba", "(Medal) Yumefuda [BET]", GAME_NOT_WORKING | GAME_WRONG_COLORS )
+GAME( 198?, yumefuda, 0, yumefuda, yumefuda, 0, ROT0, "Alba", "(Medal) Yumefuda [BET]", GAME_NOT_WORKING )