mirror of
https://github.com/holub/mame
synced 2025-04-23 08:49:55 +03:00
Fix for MT04005 and possibly MT03976 too (NW)
This commit is contained in:
parent
aecdd2151d
commit
99ca462751
@ -254,74 +254,74 @@ WRITE8_MEMBER(ms32_state::ms32_nvram_w8)
|
||||
|
||||
READ8_MEMBER(ms32_state::ms32_priram_r8)
|
||||
{
|
||||
return m_priram_8[offset];
|
||||
return m_priram[offset];
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(ms32_state::ms32_priram_w8)
|
||||
{
|
||||
m_priram_8[offset] = data;
|
||||
m_priram[offset] = data;
|
||||
}
|
||||
|
||||
READ16_MEMBER(ms32_state::ms32_palram_r16)
|
||||
{
|
||||
return m_palram_16[offset];
|
||||
return m_palram[offset];
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(ms32_state::ms32_palram_w16)
|
||||
{
|
||||
COMBINE_DATA(&m_palram_16[offset]);
|
||||
COMBINE_DATA(&m_palram[offset]);
|
||||
}
|
||||
|
||||
READ16_MEMBER(ms32_state::ms32_rozram_r16)
|
||||
{
|
||||
return m_rozram_16[offset];
|
||||
return m_rozram[offset];
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(ms32_state::ms32_rozram_w16)
|
||||
{
|
||||
COMBINE_DATA(&m_rozram_16[offset]);
|
||||
COMBINE_DATA(&m_rozram[offset]);
|
||||
m_roz_tilemap->mark_tile_dirty(offset/2);
|
||||
}
|
||||
|
||||
READ16_MEMBER(ms32_state::ms32_lineram_r16)
|
||||
{
|
||||
return m_lineram_16[offset];
|
||||
return m_lineram[offset];
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(ms32_state::ms32_lineram_w16)
|
||||
{
|
||||
COMBINE_DATA(&m_lineram_16[offset]);
|
||||
COMBINE_DATA(&m_lineram[offset]);
|
||||
}
|
||||
|
||||
READ16_MEMBER(ms32_state::ms32_sprram_r16)
|
||||
{
|
||||
return m_sprram_16[offset];
|
||||
return m_sprram[offset];
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(ms32_state::ms32_sprram_w16)
|
||||
{
|
||||
COMBINE_DATA(&m_sprram_16[offset]);
|
||||
COMBINE_DATA(&m_sprram[offset]);
|
||||
}
|
||||
|
||||
READ16_MEMBER(ms32_state::ms32_txram_r16)
|
||||
{
|
||||
return m_txram_16[offset];
|
||||
return m_txram[offset];
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(ms32_state::ms32_txram_w16)
|
||||
{
|
||||
COMBINE_DATA(&m_txram_16[offset]);
|
||||
COMBINE_DATA(&m_txram[offset]);
|
||||
m_tx_tilemap->mark_tile_dirty(offset/2);
|
||||
}
|
||||
|
||||
READ16_MEMBER(ms32_state::ms32_bgram_r16)
|
||||
{
|
||||
return m_bgram_16[offset];
|
||||
return m_bgram[offset];
|
||||
}
|
||||
|
||||
WRITE16_MEMBER(ms32_state::ms32_bgram_w16)
|
||||
{
|
||||
COMBINE_DATA(&m_bgram_16[offset]);
|
||||
COMBINE_DATA(&m_bgram[offset]);
|
||||
m_bg_tilemap->mark_tile_dirty(offset/2);
|
||||
m_bg_tilemap_alt->mark_tile_dirty(offset/2);
|
||||
}
|
||||
@ -339,18 +339,18 @@ static ADDRESS_MAP_START( ms32_map, AS_PROGRAM, 32, ms32_state )
|
||||
/* RAM areas verified by testing on real hw - usually accessed at the 0xfc000000 + mirror */
|
||||
AM_RANGE(0xc0000000, 0xc0007fff) AM_READWRITE8(ms32_nvram_r8, ms32_nvram_w8, 0x000000ff) AM_MIRROR(0x3c1fe000) // nvram is 8-bit wide, 0x2000 in size */
|
||||
/* AM_RANGE(0xc0008000, 0xc01fffff) // mirrors of nvramram, handled above */
|
||||
AM_RANGE(0xc1180000, 0xc1187fff) AM_READWRITE8(ms32_priram_r8, ms32_priram_w8, 0x000000ff) AM_MIRROR(0x3c038000) /* priram is 8-bit wide, 0x2000 in size */
|
||||
AM_RANGE(0xc1180000, 0xc1187fff) AM_READWRITE8(ms32_priram_r8, ms32_priram_w8, 0x000000ff) AM_MIRROR(0x3c038000) AM_SHARE("priram") /* priram is 8-bit wide, 0x2000 in size */
|
||||
/* AM_RANGE(0xc1188000, 0xc11bffff) // mirrors of priram, handled above */
|
||||
AM_RANGE(0xc1400000, 0xc143ffff) AM_READWRITE16(ms32_palram_r16, ms32_palram_w16, 0x0000ffff) AM_MIRROR(0x3c1c0000) /* palram is 16-bit wide, 0x20000 in size */
|
||||
AM_RANGE(0xc1400000, 0xc143ffff) AM_READWRITE16(ms32_palram_r16, ms32_palram_w16, 0x0000ffff) AM_MIRROR(0x3c1c0000) AM_SHARE("palram") /* palram is 16-bit wide, 0x20000 in size */
|
||||
/* AM_RANGE(0xc1440000, 0xc145ffff) // mirrors of palram, handled above */
|
||||
AM_RANGE(0xc2000000, 0xc201ffff) AM_READWRITE16(ms32_rozram_r16, ms32_rozram_w16, 0x0000ffff) AM_MIRROR(0x3c1e0000) /* rozram is 16-bit wide, 0x10000 in size */
|
||||
AM_RANGE(0xc2000000, 0xc201ffff) AM_READWRITE16(ms32_rozram_r16, ms32_rozram_w16, 0x0000ffff) AM_MIRROR(0x3c1e0000) AM_SHARE("rozram") /* rozram is 16-bit wide, 0x10000 in size */
|
||||
/* AM_RANGE(0xc2020000, 0xc21fffff) // mirrors of rozram, handled above */
|
||||
AM_RANGE(0xc2200000, 0xc2201fff) AM_READWRITE16(ms32_lineram_r16,ms32_lineram_w16,0x0000ffff) AM_MIRROR(0x3c1fe000) /* lineram is 16-bit wide, 0x1000 in size */
|
||||
AM_RANGE(0xc2200000, 0xc2201fff) AM_READWRITE16(ms32_lineram_r16,ms32_lineram_w16,0x0000ffff) AM_MIRROR(0x3c1fe000) AM_SHARE("lineram") /* lineram is 16-bit wide, 0x1000 in size */
|
||||
/* AM_RANGE(0xc2202000, 0xc23fffff) // mirrors of lineram, handled above */
|
||||
AM_RANGE(0xc2800000, 0xc283ffff) AM_READWRITE16(ms32_sprram_r16, ms32_sprram_w16, 0x0000ffff) AM_MIRROR(0x3c1c0000) /* spriteram is 16-bit wide, 0x20000 in size */
|
||||
AM_RANGE(0xc2800000, 0xc283ffff) AM_READWRITE16(ms32_sprram_r16, ms32_sprram_w16, 0x0000ffff) AM_MIRROR(0x3c1c0000) AM_SHARE("sprram") /* spriteram is 16-bit wide, 0x20000 in size */
|
||||
/* AM_RANGE(0xc2840000, 0xc29fffff) // mirrors of sprram, handled above */
|
||||
AM_RANGE(0xc2c00000, 0xc2c07fff) AM_READWRITE16(ms32_txram_r16, ms32_txram_w16, 0x0000ffff) AM_MIRROR(0x3c1f0000) /* txram is 16-bit wide, 0x4000 in size */
|
||||
AM_RANGE(0xc2c08000, 0xc2c0ffff) AM_READWRITE16(ms32_bgram_r16, ms32_bgram_w16, 0x0000ffff) AM_MIRROR(0x3c1f0000) /* bgram is 16-bit wide, 0x4000 in size */
|
||||
AM_RANGE(0xc2c00000, 0xc2c07fff) AM_READWRITE16(ms32_txram_r16, ms32_txram_w16, 0x0000ffff) AM_MIRROR(0x3c1f0000) AM_SHARE("txram") /* txram is 16-bit wide, 0x4000 in size */
|
||||
AM_RANGE(0xc2c08000, 0xc2c0ffff) AM_READWRITE16(ms32_bgram_r16, ms32_bgram_w16, 0x0000ffff) AM_MIRROR(0x3c1f0000) AM_SHARE("bgram") /* bgram is 16-bit wide, 0x4000 in size */
|
||||
/* AM_RANGE(0xc2c10000, 0xc2dfffff) // mirrors of txram / bg, handled above */
|
||||
AM_RANGE(0xc2e00000, 0xc2e1ffff) AM_RAM AM_SHARE("mainram") AM_MIRROR(0x3c0e0000) /* mainram is 32-bit wide, 0x20000 in size */
|
||||
AM_RANGE(0xc3e00000, 0xc3ffffff) AM_ROMBANK("bank1") AM_MIRROR(0x3c000000) // ROM is 32-bit wide, 0x200000 in size */
|
||||
@ -381,12 +381,12 @@ ADDRESS_MAP_END
|
||||
|
||||
WRITE16_MEMBER(ms32_state::ms32_extra_w16)
|
||||
{
|
||||
COMBINE_DATA(&m_f1superb_extraram_16[offset]);
|
||||
COMBINE_DATA(&m_f1superb_extraram[offset]);
|
||||
m_extra_tilemap->mark_tile_dirty(offset/2);
|
||||
}
|
||||
READ16_MEMBER(ms32_state::ms32_extra_r16)
|
||||
{
|
||||
return m_f1superb_extraram_16[offset];
|
||||
return m_f1superb_extraram[offset];
|
||||
}
|
||||
|
||||
WRITE32_MEMBER(ms32_state::ms32_irq2_guess_w)
|
||||
@ -417,7 +417,7 @@ static ADDRESS_MAP_START( f1superb_map, AS_PROGRAM, 32, ms32_state )
|
||||
AM_RANGE(0xfd140000, 0xfd143fff) AM_RAM // used when you start enabling fpu ints
|
||||
AM_RANGE(0xfd144000, 0xfd145fff) AM_RAM // same data here
|
||||
|
||||
AM_RANGE(0xfdc00000, 0xfdc007ff) AM_READWRITE16(ms32_extra_r16, ms32_extra_w16, 0x0000ffff) // definitely line ram
|
||||
AM_RANGE(0xfdc00000, 0xfdc007ff) AM_READWRITE16(ms32_extra_r16, ms32_extra_w16, 0x0000ffff) AM_SHARE("f1sb_extraram") // definitely line ram
|
||||
AM_RANGE(0xfde00000, 0xfde01fff) AM_RAM // scroll info for lineram?
|
||||
|
||||
AM_IMPORT_FROM(ms32_map)
|
||||
|
@ -8,6 +8,14 @@ public:
|
||||
m_tx_scroll(*this, "tx_scroll"),
|
||||
m_bg_scroll(*this, "bg_scroll"),
|
||||
m_mahjong_input_select(*this, "mahjong_select"),
|
||||
m_priram(*this, "priram", 32),
|
||||
m_palram(*this, "palram", 32),
|
||||
m_rozram(*this, "rozram", 32),
|
||||
m_lineram(*this, "lineram", 32),
|
||||
m_sprram(*this, "sprram", 32),
|
||||
m_txram(*this, "txram", 32),
|
||||
m_bgram(*this, "bgram", 32),
|
||||
m_f1superb_extraram(*this, "f1sb_extraram", 32),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_audiocpu(*this, "audiocpu") { }
|
||||
|
||||
@ -16,6 +24,14 @@ public:
|
||||
required_shared_ptr<UINT32> m_tx_scroll;
|
||||
required_shared_ptr<UINT32> m_bg_scroll;
|
||||
required_shared_ptr<UINT32> m_mahjong_input_select;
|
||||
required_shared_ptr<UINT8> m_priram;
|
||||
required_shared_ptr<UINT16> m_palram;
|
||||
required_shared_ptr<UINT16> m_rozram;
|
||||
required_shared_ptr<UINT16> m_lineram;
|
||||
required_shared_ptr<UINT16> m_sprram;
|
||||
required_shared_ptr<UINT16> m_txram;
|
||||
required_shared_ptr<UINT16> m_bgram;
|
||||
optional_shared_ptr<UINT16> m_f1superb_extraram;
|
||||
UINT8 *m_nvram_8;
|
||||
UINT32 m_to_main;
|
||||
UINT16 m_irqreq;
|
||||
@ -23,15 +39,7 @@ public:
|
||||
tilemap_t *m_roz_tilemap;
|
||||
tilemap_t *m_bg_tilemap;
|
||||
tilemap_t *m_bg_tilemap_alt;
|
||||
UINT8* m_priram_8;
|
||||
UINT16* m_palram_16;
|
||||
UINT16* m_rozram_16;
|
||||
UINT16* m_lineram_16;
|
||||
UINT16* m_sprram_16;
|
||||
UINT16* m_txram_16;
|
||||
UINT16* m_bgram_16;
|
||||
UINT32 m_tilemaplayoutcontrol;
|
||||
UINT16* m_f1superb_extraram_16;
|
||||
tilemap_t* m_extra_tilemap;
|
||||
bitmap_ind16 m_temp_bitmap_tilemaps;
|
||||
bitmap_ind16 m_temp_bitmap_sprites;
|
||||
|
@ -24,8 +24,8 @@ TILE_GET_INFO_MEMBER(ms32_state::get_ms32_tx_tile_info)
|
||||
{
|
||||
int tileno, colour;
|
||||
|
||||
tileno = m_txram_16[tile_index *2] & 0xffff;
|
||||
colour = m_txram_16[tile_index *2+1] & 0x000f;
|
||||
tileno = m_txram[tile_index *2] & 0xffff;
|
||||
colour = m_txram[tile_index *2+1] & 0x000f;
|
||||
|
||||
SET_TILE_INFO_MEMBER(3,tileno,colour,0);
|
||||
}
|
||||
@ -34,8 +34,8 @@ TILE_GET_INFO_MEMBER(ms32_state::get_ms32_roz_tile_info)
|
||||
{
|
||||
int tileno,colour;
|
||||
|
||||
tileno = m_rozram_16[tile_index *2] & 0xffff;
|
||||
colour = m_rozram_16[tile_index *2+1] & 0x000f;
|
||||
tileno = m_rozram[tile_index *2] & 0xffff;
|
||||
colour = m_rozram[tile_index *2+1] & 0x000f;
|
||||
|
||||
SET_TILE_INFO_MEMBER(1,tileno,colour,0);
|
||||
}
|
||||
@ -44,8 +44,8 @@ TILE_GET_INFO_MEMBER(ms32_state::get_ms32_bg_tile_info)
|
||||
{
|
||||
int tileno,colour;
|
||||
|
||||
tileno = m_bgram_16[tile_index *2] & 0xffff;
|
||||
colour = m_bgram_16[tile_index *2+1] & 0x000f;
|
||||
tileno = m_bgram[tile_index *2] & 0xffff;
|
||||
colour = m_bgram[tile_index *2+1] & 0x000f;
|
||||
|
||||
SET_TILE_INFO_MEMBER(2,tileno,colour,0);
|
||||
}
|
||||
@ -54,8 +54,8 @@ TILE_GET_INFO_MEMBER(ms32_state::get_ms32_extra_tile_info)
|
||||
{
|
||||
int tileno,colour;
|
||||
|
||||
tileno = m_f1superb_extraram_16[tile_index *2] & 0xffff;
|
||||
colour = m_f1superb_extraram_16[tile_index *2+1] & 0x000f;
|
||||
tileno = m_f1superb_extraram[tile_index *2] & 0xffff;
|
||||
colour = m_f1superb_extraram[tile_index *2+1] & 0x000f;
|
||||
|
||||
SET_TILE_INFO_MEMBER(4,tileno,colour+0x50,0);
|
||||
}
|
||||
@ -64,14 +64,6 @@ TILE_GET_INFO_MEMBER(ms32_state::get_ms32_extra_tile_info)
|
||||
|
||||
void ms32_state::video_start()
|
||||
{
|
||||
m_priram_8 = auto_alloc_array_clear(machine(), UINT8, 0x2000);
|
||||
m_palram_16 = auto_alloc_array_clear(machine(), UINT16, 0x20000);
|
||||
m_rozram_16 = auto_alloc_array_clear(machine(), UINT16, 0x10000);
|
||||
m_lineram_16 = auto_alloc_array_clear(machine(), UINT16, 0x1000);
|
||||
m_sprram_16 = auto_alloc_array_clear(machine(), UINT16, 0x20000);
|
||||
m_bgram_16 = auto_alloc_array_clear(machine(), UINT16, 0x4000);
|
||||
m_txram_16 = auto_alloc_array_clear(machine(), UINT16, 0x4000);
|
||||
|
||||
m_tx_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ms32_state::get_ms32_tx_tile_info),this),TILEMAP_SCAN_ROWS,8, 8,64,64);
|
||||
m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ms32_state::get_ms32_bg_tile_info),this),TILEMAP_SCAN_ROWS,16,16,64,64);
|
||||
m_bg_tilemap_alt = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ms32_state::get_ms32_bg_tile_info),this),TILEMAP_SCAN_ROWS,16,16,256,16); // alt layout, controller by register?
|
||||
@ -105,15 +97,25 @@ void ms32_state::video_start()
|
||||
|
||||
// tp2m32 doesn't set the brightness registers so we need sensible defaults
|
||||
m_brt[0] = m_brt[1] = 0xffff;
|
||||
|
||||
save_item(NAME(m_irqreq));
|
||||
save_item(NAME(m_temp_bitmap_tilemaps));
|
||||
save_item(NAME(m_temp_bitmap_sprites));
|
||||
save_item(NAME(m_temp_bitmap_sprites_pri));
|
||||
save_item(NAME(m_tilemaplayoutcontrol));
|
||||
save_item(NAME(m_reverse_sprite_order));
|
||||
save_item(NAME(m_flipscreen));
|
||||
save_item(NAME(m_brt));
|
||||
save_item(NAME(m_brt_r));
|
||||
save_item(NAME(m_brt_g));
|
||||
save_item(NAME(m_brt_b));
|
||||
}
|
||||
|
||||
VIDEO_START_MEMBER(ms32_state,f1superb)
|
||||
{
|
||||
ms32_state::video_start();
|
||||
|
||||
m_f1superb_extraram_16 = auto_alloc_array_clear(machine(), UINT16, 0x10000);
|
||||
m_extra_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(ms32_state::get_ms32_extra_tile_info),this),TILEMAP_SCAN_ROWS,2048,1,1,0x400);
|
||||
|
||||
}
|
||||
|
||||
/********** PALETTE WRITES **********/
|
||||
@ -129,15 +131,15 @@ void ms32_state::update_color(int color)
|
||||
*/
|
||||
if (~color & 0x4000)
|
||||
{
|
||||
r = ((m_palram_16[color*2] & 0xff00) >>8 ) * m_brt_r / 0x100;
|
||||
g = ((m_palram_16[color*2] & 0x00ff) >>0 ) * m_brt_g / 0x100;
|
||||
b = ((m_palram_16[color*2+1] & 0x00ff) >>0 ) * m_brt_b / 0x100;
|
||||
r = ((m_palram[color*2] & 0xff00) >>8 ) * m_brt_r / 0x100;
|
||||
g = ((m_palram[color*2] & 0x00ff) >>0 ) * m_brt_g / 0x100;
|
||||
b = ((m_palram[color*2+1] & 0x00ff) >>0 ) * m_brt_b / 0x100;
|
||||
}
|
||||
else
|
||||
{
|
||||
r = ((m_palram_16[color*2] & 0xff00) >>8 );
|
||||
g = ((m_palram_16[color*2] & 0x00ff) >>0 );
|
||||
b = ((m_palram_16[color*2+1] & 0x00ff) >>0 );
|
||||
r = ((m_palram[color*2] & 0xff00) >>8 );
|
||||
g = ((m_palram[color*2] & 0x00ff) >>0 );
|
||||
b = ((m_palram[color*2+1] & 0x00ff) >>0 );
|
||||
}
|
||||
|
||||
palette_set_color(machine(),color,MAKE_RGB(r,g,b));
|
||||
@ -280,7 +282,7 @@ void ms32_state::draw_roz(screen_device &screen, bitmap_ind16 &bitmap, const rec
|
||||
|
||||
while (y <= maxy)
|
||||
{
|
||||
UINT16 *lineaddr = m_lineram_16 + 8 * (y & 0xff);
|
||||
UINT16 *lineaddr = m_lineram + 8 * (y & 0xff);
|
||||
|
||||
int start2x = (lineaddr[0x00/4] & 0xffff) | ((lineaddr[0x04/4] & 3) << 16);
|
||||
int start2y = (lineaddr[0x08/4] & 0xffff) | ((lineaddr[0x0c/4] & 3) << 16);
|
||||
@ -390,24 +392,24 @@ UINT32 ms32_state::screen_update_ms32(screen_device &screen, bitmap_rgb32 &bitma
|
||||
m_temp_bitmap_sprites.fill(0, cliprect);
|
||||
m_temp_bitmap_sprites_pri.fill(0, cliprect);
|
||||
|
||||
draw_sprites(m_temp_bitmap_sprites, m_temp_bitmap_sprites_pri, cliprect, m_sprram_16, 0x20000, 0, m_reverse_sprite_order);
|
||||
draw_sprites(m_temp_bitmap_sprites, m_temp_bitmap_sprites_pri, cliprect, m_sprram, 0x20000, 0, m_reverse_sprite_order);
|
||||
|
||||
|
||||
|
||||
|
||||
asc_pri = scr_pri = rot_pri = 0;
|
||||
|
||||
if((m_priram_8[0x2b00 / 2] & 0x00ff) == 0x0034)
|
||||
if((m_priram[0x2b00 / 2] & 0x00ff) == 0x0034)
|
||||
asc_pri++;
|
||||
else
|
||||
rot_pri++;
|
||||
|
||||
if((m_priram_8[0x2e00 / 2] & 0x00ff) == 0x0034)
|
||||
if((m_priram[0x2e00 / 2] & 0x00ff) == 0x0034)
|
||||
asc_pri++;
|
||||
else
|
||||
scr_pri++;
|
||||
|
||||
if((m_priram_8[0x3a00 / 2] & 0x00ff) == 0x000c)
|
||||
if((m_priram[0x3a00 / 2] & 0x00ff) == 0x000c)
|
||||
scr_pri++;
|
||||
else
|
||||
rot_pri++;
|
||||
@ -491,14 +493,14 @@ UINT32 ms32_state::screen_update_ms32(screen_device &screen, bitmap_rgb32 &bitma
|
||||
int primask = 0;
|
||||
|
||||
// get sprite priority value back out of bitmap/colour data (this is done in draw_sprite for standalone hw)
|
||||
if (m_priram_8[(spritepri | 0x0a00 | 0x1500) / 2] & 0x38) primask |= 1 << 0;
|
||||
if (m_priram_8[(spritepri | 0x0a00 | 0x1400) / 2] & 0x38) primask |= 1 << 1;
|
||||
if (m_priram_8[(spritepri | 0x0a00 | 0x1100) / 2] & 0x38) primask |= 1 << 2;
|
||||
if (m_priram_8[(spritepri | 0x0a00 | 0x1000) / 2] & 0x38) primask |= 1 << 3;
|
||||
if (m_priram_8[(spritepri | 0x0a00 | 0x0500) / 2] & 0x38) primask |= 1 << 4;
|
||||
if (m_priram_8[(spritepri | 0x0a00 | 0x0400) / 2] & 0x38) primask |= 1 << 5;
|
||||
if (m_priram_8[(spritepri | 0x0a00 | 0x0100) / 2] & 0x38) primask |= 1 << 6;
|
||||
if (m_priram_8[(spritepri | 0x0a00 | 0x0000) / 2] & 0x38) primask |= 1 << 7;
|
||||
if (m_priram[(spritepri | 0x0a00 | 0x1500) / 2] & 0x38) primask |= 1 << 0;
|
||||
if (m_priram[(spritepri | 0x0a00 | 0x1400) / 2] & 0x38) primask |= 1 << 1;
|
||||
if (m_priram[(spritepri | 0x0a00 | 0x1100) / 2] & 0x38) primask |= 1 << 2;
|
||||
if (m_priram[(spritepri | 0x0a00 | 0x1000) / 2] & 0x38) primask |= 1 << 3;
|
||||
if (m_priram[(spritepri | 0x0a00 | 0x0500) / 2] & 0x38) primask |= 1 << 4;
|
||||
if (m_priram[(spritepri | 0x0a00 | 0x0400) / 2] & 0x38) primask |= 1 << 5;
|
||||
if (m_priram[(spritepri | 0x0a00 | 0x0100) / 2] & 0x38) primask |= 1 << 6;
|
||||
if (m_priram[(spritepri | 0x0a00 | 0x0000) / 2] & 0x38) primask |= 1 << 7;
|
||||
|
||||
|
||||
if (primask == 0x00)
|
||||
|
Loading…
Reference in New Issue
Block a user