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)
This commit is contained in:
Angelo Salese 2008-10-14 18:31:05 +00:00
parent 5537bbe8a5
commit f4e0931b93
3 changed files with 20 additions and 9 deletions

View File

@ -918,6 +918,18 @@ WRITE8_HANDLER( paletteram_xRRRRRGGGGGBBBBB_le_w )
set_color_555(machine, offset / 2, 10, 5, 0, paletteram16_le(offset)); 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 ) WRITE16_HANDLER( paletteram16_xRRRRRGGGGGBBBBB_word_w )
{ {
COMBINE_DATA(&paletteram16[offset]); COMBINE_DATA(&paletteram16[offset]);

View File

@ -186,6 +186,8 @@ WRITE8_HANDLER( paletteram_xBBBBBRRRRRGGGGG_split1_w ); /* uses paletteram[] */
WRITE8_HANDLER( paletteram_xBBBBBRRRRRGGGGG_split2_w ); /* uses paletteram_2[] */ WRITE8_HANDLER( paletteram_xBBBBBRRRRRGGGGG_split2_w ); /* uses paletteram_2[] */
WRITE8_HANDLER( paletteram_xRRRRRGGGGGBBBBB_le_w ); 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_xRRRRRGGGGGBBBBB_word_w );
WRITE16_HANDLER( paletteram16_xGGGGGRRRRRBBBBB_word_w ); WRITE16_HANDLER( paletteram16_xGGGGGRRRRRBBBBB_word_w );

View File

@ -11,12 +11,9 @@ Notes:
TODO: TODO:
-Correct Bankswitch emulation.Obviously I'm not happy with the current implementation... -Correct Bankswitch emulation.Obviously I'm not happy with the current implementation...
-Finish controls. -Finish controls.
-"Custom RAM" emulation might be a simple protection issue.
-Custom RAM emulation. -Need a proper screenshot of the real thing for the colors but I think they are accurate.
-Fix the colors.
============================================================================================ ============================================================================================
Code disassembling Code disassembling
@ -194,7 +191,6 @@ static WRITE8_HANDLER( mux_w )
mux_data = data & ~0xc0; mux_data = data & ~0xc0;
} }
/***************************************************************************************/ /***************************************************************************************/
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 ) 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(0xa7fc, 0xa7fc) AM_WRITE(prot_lock_w)
AM_RANGE(0xa7ff, 0xa7ff) AM_WRITE(eeprom_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(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(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(0xd000, 0xd3ff) AM_RAM_WRITE(yumefuda_cram_w) AM_BASE(&colorram)
AM_RANGE(0xe000, 0xffff) AM_RAM 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_SCREEN_VISIBLE_AREA(0, 32*8-1, 0, 32*8-1)
MDRV_GFXDECODE( yumefuda ) MDRV_GFXDECODE( yumefuda )
MDRV_PALETTE_LENGTH(0x100) MDRV_PALETTE_LENGTH(0x80)
MDRV_VIDEO_START( yumefuda ) MDRV_VIDEO_START( yumefuda )
MDRV_VIDEO_UPDATE( yumefuda ) MDRV_VIDEO_UPDATE( yumefuda )
@ -439,4 +436,4 @@ ROM_START( yumefuda )
ROM_LOAD("zg001003.u3", 0xc000, 0x4000, CRC(5822ff27) SHA1(d40fa0790de3c912f770ef8f610bd8c42bc3500f)) ROM_LOAD("zg001003.u3", 0xc000, 0x4000, CRC(5822ff27) SHA1(d40fa0790de3c912f770ef8f610bd8c42bc3500f))
ROM_END 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 )