01888: raidena, raidenk, raident: Flip screen DIP switch doesn't work.

* added raidena_control_w and hooked it up to raiden[akt]
This commit is contained in:
Couriersud 2008-06-15 21:48:39 +00:00
parent 033587279e
commit cd0703d80a
2 changed files with 13 additions and 1 deletions

View File

@ -49,6 +49,7 @@ WRITE16_HANDLER( raiden_text_w );
VIDEO_START( raiden );
VIDEO_START( raidena );
WRITE16_HANDLER( raiden_control_w );
WRITE16_HANDLER( raidena_control_w );
VIDEO_UPDATE( raiden );
static UINT16 *raiden_shared_ram;
@ -86,9 +87,9 @@ static ADDRESS_MAP_START( alt_map, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x07000, 0x07fff) AM_RAM AM_BASE(&spriteram16) AM_SIZE(&spriteram_size)
AM_RANGE(0x08000, 0x08fff) AM_RAM AM_SHARE(1) AM_BASE(&raiden_shared_ram)
AM_RANGE(0x0a000, 0x0a00d) AM_READWRITE(seibu_main_word_r, seibu_main_word_w)
AM_RANGE(0x0b000, 0x0b007) AM_WRITE(raiden_control_w)
AM_RANGE(0x0c000, 0x0c7ff) AM_WRITE(raiden_text_w) AM_BASE(&videoram16)
AM_RANGE(0x0e000, 0x0e001) AM_READ(input_port_1_word_r)
AM_RANGE(0x0e000, 0x0e007) AM_WRITE(raidena_control_w)
AM_RANGE(0x0e002, 0x0e003) AM_READ(input_port_2_word_r)
AM_RANGE(0x0f000, 0x0f035) AM_WRITE(SMH_RAM) AM_BASE(&raiden_scroll_ram)
AM_RANGE(0xa0000, 0xfffff) AM_ROM

View File

@ -100,6 +100,17 @@ WRITE16_HANDLER( raiden_control_w )
}
}
WRITE16_HANDLER( raidena_control_w )
{
/* raidena uses 0x40 instead of 0x02 */
/* Flipscreen */
if (offset==3 && ACCESSING_BITS_0_7) {
flipscreen=data&0x40;
tilemap_set_flip(ALL_TILEMAPS,flipscreen ? (TILEMAP_FLIPY | TILEMAP_FLIPX) : 0);
}
}
static void draw_sprites(running_machine *machine, bitmap_t *bitmap,const rectangle *cliprect,int pri_mask)
{
int offs,fx,fy,x,y,color,sprite;