diff options
Diffstat (limited to 'src/mame/video/segaic16.c')
-rw-r--r-- | src/mame/video/segaic16.c | 191 |
1 files changed, 97 insertions, 94 deletions
diff --git a/src/mame/video/segaic16.c b/src/mame/video/segaic16.c index 387c2ca8476..94d16641193 100644 --- a/src/mame/video/segaic16.c +++ b/src/mame/video/segaic16.c @@ -336,13 +336,13 @@ Quick review of the system16 hardware: and clipping capabilities, and advanced hot-spot positioning. The mixer chip adds totally dynamic priorities, alpha-blending of the tilemaps, per-component color control, and some other funnies we - have not been able to decypher. + have not been able to decipher. ST-V (also know as Titan or the Saturn console): The ultimate 2D system. Even more advanced tilemaps, with 6-dof roz support, alpha up to the wazoo and other niceties, known as - the vdp2. Ths sprite engine, vdp1, allows for any 4-point - streching of the sprites, actually giving polygonal 3D + the vdp2. The sprite engine, vdp1, allows for any 4-point + stretching of the sprites, actually giving polygonal 3D capabilities. Interestingly, the mixer capabilities took a hit, with no real per-sprite mixer priority, which could be considered annoying for a 2D system. It still allowed some beauties like @@ -374,8 +374,14 @@ const device_type SEGAIC16VID = &device_creator<segaic16_video_device>; segaic16_video_device::segaic16_video_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : device_t(mconfig, SEGAIC16VID, "Sega 16-bit Video", tag, owner, clock, "segaic16_video", __FILE__), device_video_interface(mconfig, *this), + m_display_enable(0), + m_tileram(*this, ":tileram"), + m_textram(*this, ":textram"), + m_rotateram(*this, ":rotateram"), m_gfxdecode(*this) { + memset(m_rotate, 0, sizeof(m_rotate)); + memset(m_bg_tilemap, 0, sizeof(m_bg_tilemap)); } //------------------------------------------------- @@ -389,12 +395,9 @@ void segaic16_video_device::static_set_gfxdecode_tag(device_t &device, const cha } -void segaic16_video_device::device_config_complete() -{ -} - void segaic16_video_device::device_start() { + save_item(NAME(m_display_enable)); } void segaic16_video_device::device_reset() @@ -402,27 +405,19 @@ void segaic16_video_device::device_reset() } - - - - - - - - /************************************* * * Misc functions * *************************************/ -void segaic16_video_device::segaic16_set_display_enable(int enable) +void segaic16_video_device::set_display_enable(int enable) { enable = (enable != 0); - if (segaic16_display_enable != enable) + if (m_display_enable != enable) { m_screen->update_partial(m_screen->vpos()); - segaic16_display_enable = enable; + m_display_enable = enable; } } @@ -435,7 +430,7 @@ void segaic16_video_device::segaic16_set_display_enable(int enable) * *************************************/ -void segaic16_draw_virtual_tilemap(screen_device &screen, struct tilemap_info *info, bitmap_ind16 &bitmap, const rectangle &cliprect, UINT16 pages, UINT16 xscroll, UINT16 yscroll, UINT32 flags, UINT32 priority) +void draw_virtual_tilemap(screen_device &screen, struct tilemap_info *info, bitmap_ind16 &bitmap, const rectangle &cliprect, UINT16 pages, UINT16 xscroll, UINT16 yscroll, UINT32 flags, UINT32 priority) { int leftmin = -1, leftmax = -1, rightmin = -1, rightmax = -1; int topmin = -1, topmax = -1, bottommin = -1, bottommax = -1; @@ -637,7 +632,7 @@ void segaic16_draw_virtual_tilemap(screen_device &screen, struct tilemap_info *i * *******************************************************************************************/ -TILE_GET_INFO_MEMBER( segaic16_video_device::segaic16_tilemap_16a_tile_info ) +TILE_GET_INFO_MEMBER( segaic16_video_device::tilemap_16a_tile_info ) { const struct tilemap_callback_info *info = (const struct tilemap_callback_info *)tilemap.user_data(); UINT16 data = info->rambase[tile_index]; @@ -649,7 +644,7 @@ TILE_GET_INFO_MEMBER( segaic16_video_device::segaic16_tilemap_16a_tile_info ) } -TILE_GET_INFO_MEMBER( segaic16_video_device::segaic16_tilemap_16a_text_info ) +TILE_GET_INFO_MEMBER( segaic16_video_device::tilemap_16a_text_info ) { const struct tilemap_callback_info *info = (const struct tilemap_callback_info *)tilemap.user_data(); UINT16 data = info->rambase[tile_index]; @@ -661,7 +656,7 @@ TILE_GET_INFO_MEMBER( segaic16_video_device::segaic16_tilemap_16a_text_info ) } -void segaic16_tilemap_16a_draw_layer(screen_device &screen, struct tilemap_info *info, bitmap_ind16 &bitmap, const rectangle &cliprect, int which, int flags, int priority) +void tilemap_16a_draw_layer(screen_device &screen, struct tilemap_info *info, bitmap_ind16 &bitmap, const rectangle &cliprect, int which, int flags, int priority) { UINT16 *textram = info->textram; @@ -712,7 +707,7 @@ void segaic16_tilemap_16a_draw_layer(screen_device &screen, struct tilemap_info /* draw the chunk */ effxscroll = (0xc8 - effxscroll + info->xoffs) & 0x3ff; effyscroll = effyscroll & 0x1ff; - segaic16_draw_virtual_tilemap(screen, info, bitmap, rowcolclip, pages, effxscroll, effyscroll, flags, priority); + draw_virtual_tilemap(screen, info, bitmap, rowcolclip, pages, effxscroll, effyscroll, flags, priority); } } } @@ -741,7 +736,7 @@ void segaic16_tilemap_16a_draw_layer(screen_device &screen, struct tilemap_info /* draw the chunk */ effxscroll = (0xc8 - effxscroll + info->xoffs) & 0x3ff; effyscroll = effyscroll & 0x1ff; - segaic16_draw_virtual_tilemap(screen, info, bitmap, colclip, pages, effxscroll, effyscroll, flags, priority); + draw_virtual_tilemap(screen, info, bitmap, colclip, pages, effxscroll, effyscroll, flags, priority); } } else if (info->rowscroll) @@ -770,7 +765,7 @@ void segaic16_tilemap_16a_draw_layer(screen_device &screen, struct tilemap_info /* draw the chunk */ effxscroll = (0xc8 - effxscroll + info->xoffs) & 0x3ff; effyscroll = effyscroll & 0x1ff; - segaic16_draw_virtual_tilemap(screen, info, bitmap, rowclip, pages, effxscroll, effyscroll, flags, priority); + draw_virtual_tilemap(screen, info, bitmap, rowclip, pages, effxscroll, effyscroll, flags, priority); } } else @@ -780,7 +775,7 @@ void segaic16_tilemap_16a_draw_layer(screen_device &screen, struct tilemap_info xscroll += 17; xscroll = (0xc8 - xscroll + info->xoffs) & 0x3ff; yscroll = yscroll & 0x1ff; - segaic16_draw_virtual_tilemap(screen, info, bitmap, cliprect, pages, xscroll, yscroll, flags, priority); + draw_virtual_tilemap(screen, info, bitmap, cliprect, pages, xscroll, yscroll, flags, priority); } } @@ -849,7 +844,7 @@ void segaic16_tilemap_16a_draw_layer(screen_device &screen, struct tilemap_info * *******************************************************************************************/ -TILE_GET_INFO_MEMBER( segaic16_video_device::segaic16_tilemap_16b_tile_info ) +TILE_GET_INFO_MEMBER( segaic16_video_device::tilemap_16b_tile_info ) { const struct tilemap_callback_info *info = (const struct tilemap_callback_info *)tilemap.user_data(); UINT16 data = info->rambase[tile_index]; @@ -863,7 +858,7 @@ TILE_GET_INFO_MEMBER( segaic16_video_device::segaic16_tilemap_16b_tile_info ) } -TILE_GET_INFO_MEMBER( segaic16_video_device::segaic16_tilemap_16b_text_info ) +TILE_GET_INFO_MEMBER( segaic16_video_device::tilemap_16b_text_info ) { const struct tilemap_callback_info *info = (const struct tilemap_callback_info *)tilemap.user_data(); UINT16 data = info->rambase[tile_index]; @@ -876,7 +871,7 @@ TILE_GET_INFO_MEMBER( segaic16_video_device::segaic16_tilemap_16b_text_info ) } -TILE_GET_INFO_MEMBER( segaic16_video_device::segaic16_tilemap_16b_alt_tile_info ) +TILE_GET_INFO_MEMBER( segaic16_video_device::tilemap_16b_alt_tile_info ) { const struct tilemap_callback_info *info = (const struct tilemap_callback_info *)tilemap.user_data(); UINT16 data = info->rambase[tile_index]; @@ -890,7 +885,7 @@ TILE_GET_INFO_MEMBER( segaic16_video_device::segaic16_tilemap_16b_alt_tile_info } -TILE_GET_INFO_MEMBER( segaic16_video_device::segaic16_tilemap_16b_alt_text_info ) +TILE_GET_INFO_MEMBER( segaic16_video_device::tilemap_16b_alt_text_info ) { const struct tilemap_callback_info *info = (const struct tilemap_callback_info *)tilemap.user_data(); UINT16 data = info->rambase[tile_index]; @@ -903,7 +898,7 @@ TILE_GET_INFO_MEMBER( segaic16_video_device::segaic16_tilemap_16b_alt_text_info } -void segaic16_tilemap_16b_draw_layer(screen_device &screen, struct tilemap_info *info, bitmap_ind16 &bitmap, const rectangle &cliprect, int which, int flags, int priority) +void tilemap_16b_draw_layer(screen_device &screen, struct tilemap_info *info, bitmap_ind16 &bitmap, const rectangle &cliprect, int which, int flags, int priority) { UINT16 *textram = info->textram; UINT16 xscroll, yscroll, pages; @@ -955,7 +950,7 @@ void segaic16_tilemap_16b_draw_layer(screen_device &screen, struct tilemap_info /* draw the chunk */ effxscroll = (0xc0 - effxscroll + info->xoffs) & 0x3ff; effyscroll = effyscroll & 0x1ff; - segaic16_draw_virtual_tilemap(screen, info, bitmap, rowcolclip, effpages, effxscroll, effyscroll, flags, priority); + draw_virtual_tilemap(screen, info, bitmap, rowcolclip, effpages, effxscroll, effyscroll, flags, priority); } } } @@ -991,15 +986,15 @@ void segaic16_tilemap_16b_draw_layer(screen_device &screen, struct tilemap_info /* draw the chunk */ effxscroll = (0xc0 - effxscroll + info->xoffs) & 0x3ff; effyscroll = effyscroll & 0x1ff; - segaic16_draw_virtual_tilemap(screen, info, bitmap, rowclip, effpages, effxscroll, effyscroll, flags, priority); + draw_virtual_tilemap(screen, info, bitmap, rowclip, effpages, effxscroll, effyscroll, flags, priority); } } } -TIMER_CALLBACK_MEMBER( segaic16_video_device::segaic16_tilemap_16b_latch_values ) +TIMER_CALLBACK_MEMBER( segaic16_video_device::tilemap_16b_latch_values ) { - struct tilemap_info *info = &bg_tilemap[param]; + struct tilemap_info *info = &m_bg_tilemap[param]; UINT16 *textram = info->textram; int i; @@ -1016,7 +1011,7 @@ TIMER_CALLBACK_MEMBER( segaic16_video_device::segaic16_tilemap_16b_latch_values } -void segaic16_tilemap_16b_reset(screen_device &screen, struct tilemap_info *info) +void tilemap_16b_reset(screen_device &screen, struct tilemap_info *info) { /* set a timer to latch values on scanline 261 */ info->latch_timer->adjust(screen.time_until_pos(261), info->index); @@ -1030,9 +1025,9 @@ void segaic16_tilemap_16b_reset(screen_device &screen, struct tilemap_info *info * *************************************/ -void segaic16_video_device::segaic16_tilemap_init(running_machine &machine, int which, int type, int colorbase, int xoffs, int numbanks) +void segaic16_video_device::tilemap_init(int which, int type, int colorbase, int xoffs, int numbanks) { - struct tilemap_info *info = &bg_tilemap[which]; + struct tilemap_info *info = &m_bg_tilemap[which]; tilemap_get_info_delegate get_text_info; tilemap_get_info_delegate get_tile_info; int pagenum; @@ -1051,59 +1046,59 @@ void segaic16_video_device::segaic16_tilemap_init(running_machine &machine, int switch (which) { case 0: - info->textram = segaic16_textram_0; - info->tileram = segaic16_tileram_0; + info->textram = m_textram; + info->tileram = m_tileram; break; default: - fatalerror("Invalid tilemap index specified in segaic16_tilemap_init\n"); + fatalerror("Invalid tilemap index specified in tilemap_init\n"); } /* determine the parameters of the tilemaps */ switch (type) { case SEGAIC16_TILEMAP_HANGON: - get_text_info = tilemap_get_info_delegate(FUNC(segaic16_video_device::segaic16_tilemap_16a_text_info),this); - get_tile_info = tilemap_get_info_delegate(FUNC(segaic16_video_device::segaic16_tilemap_16a_tile_info),this); + get_text_info = tilemap_get_info_delegate(FUNC(segaic16_video_device::tilemap_16a_text_info),this); + get_tile_info = tilemap_get_info_delegate(FUNC(segaic16_video_device::tilemap_16a_tile_info),this); info->numpages = 4; - info->draw_layer = segaic16_tilemap_16a_draw_layer; + info->draw_layer = tilemap_16a_draw_layer; info->reset = NULL; info->latch_timer = NULL; break; case SEGAIC16_TILEMAP_16A: - get_text_info = tilemap_get_info_delegate(FUNC(segaic16_video_device::segaic16_tilemap_16a_text_info),this); - get_tile_info = tilemap_get_info_delegate(FUNC(segaic16_video_device::segaic16_tilemap_16a_tile_info),this); + get_text_info = tilemap_get_info_delegate(FUNC(segaic16_video_device::tilemap_16a_text_info),this); + get_tile_info = tilemap_get_info_delegate(FUNC(segaic16_video_device::tilemap_16a_tile_info),this); info->numpages = 8; - info->draw_layer = segaic16_tilemap_16a_draw_layer; + info->draw_layer = tilemap_16a_draw_layer; info->reset = NULL; info->latch_timer = NULL; break; case SEGAIC16_TILEMAP_16B: - get_text_info = tilemap_get_info_delegate(FUNC(segaic16_video_device::segaic16_tilemap_16b_text_info),this); - get_tile_info = tilemap_get_info_delegate(FUNC(segaic16_video_device::segaic16_tilemap_16b_tile_info),this); + get_text_info = tilemap_get_info_delegate(FUNC(segaic16_video_device::tilemap_16b_text_info),this); + get_tile_info = tilemap_get_info_delegate(FUNC(segaic16_video_device::tilemap_16b_tile_info),this); info->numpages = 16; - info->draw_layer = segaic16_tilemap_16b_draw_layer; - info->reset = segaic16_tilemap_16b_reset; - info->latch_timer = machine.scheduler().timer_alloc( timer_expired_delegate(FUNC(segaic16_video_device::segaic16_tilemap_16b_latch_values),this) ); + info->draw_layer = tilemap_16b_draw_layer; + info->reset = tilemap_16b_reset; + info->latch_timer = machine().scheduler().timer_alloc( timer_expired_delegate(FUNC(segaic16_video_device::tilemap_16b_latch_values),this) ); break; case SEGAIC16_TILEMAP_16B_ALT: - get_text_info = tilemap_get_info_delegate(FUNC(segaic16_video_device::segaic16_tilemap_16b_alt_text_info),this); - get_tile_info = tilemap_get_info_delegate(FUNC(segaic16_video_device::segaic16_tilemap_16b_alt_tile_info),this); + get_text_info = tilemap_get_info_delegate(FUNC(segaic16_video_device::tilemap_16b_alt_text_info),this); + get_tile_info = tilemap_get_info_delegate(FUNC(segaic16_video_device::tilemap_16b_alt_tile_info),this); info->numpages = 16; - info->draw_layer = segaic16_tilemap_16b_draw_layer; - info->reset = segaic16_tilemap_16b_reset; - info->latch_timer = machine.scheduler().timer_alloc( timer_expired_delegate(FUNC(segaic16_video_device::segaic16_tilemap_16b_latch_values),this) ); + info->draw_layer = tilemap_16b_draw_layer; + info->reset = tilemap_16b_reset; + info->latch_timer = machine().scheduler().timer_alloc( timer_expired_delegate(FUNC(segaic16_video_device::tilemap_16b_latch_values),this) ); break; default: - fatalerror("Invalid tilemap type specified in segaic16_tilemap_init\n"); + fatalerror("Invalid tilemap type specified in tilemap_init\n"); } /* create the tilemap for the text layer */ - info->textmap = &machine.tilemap().create(m_gfxdecode, get_text_info, TILEMAP_SCAN_ROWS, 8,8, 64,28); + info->textmap = &machine().tilemap().create(m_gfxdecode, get_text_info, TILEMAP_SCAN_ROWS, 8,8, 64,28); /* configure it */ info->textmap_info.rambase = info->textram; @@ -1119,7 +1114,7 @@ void segaic16_video_device::segaic16_tilemap_init(running_machine &machine, int for (pagenum = 0; pagenum < info->numpages; pagenum++) { /* each page is 64x32 */ - info->tilemaps[pagenum] = &machine.tilemap().create(m_gfxdecode, get_tile_info, TILEMAP_SCAN_ROWS, 8,8, 64,32); + info->tilemaps[pagenum] = &machine().tilemap().create(m_gfxdecode, get_tile_info, TILEMAP_SCAN_ROWS, 8,8, 64,32); /* configure the tilemap */ info->tmap_info[pagenum].rambase = info->tileram + pagenum * 64*32; @@ -1131,6 +1126,14 @@ void segaic16_video_device::segaic16_tilemap_init(running_machine &machine, int info->tilemaps[pagenum]->set_scrolldx(0, 22); info->tilemaps[pagenum]->set_scrolldy(0, 38); } + + save_item(NAME(info->flip), which); + save_item(NAME(info->rowscroll), which); + save_item(NAME(info->colscroll), which); + save_item(NAME(info->bank), which); + save_item(NAME(info->latched_xscroll), which); + save_item(NAME(info->latched_yscroll), which); + save_item(NAME(info->latched_pageselect), which); } @@ -1141,9 +1144,9 @@ void segaic16_video_device::segaic16_tilemap_init(running_machine &machine, int * *************************************/ -void segaic16_video_device::segaic16_tilemap_draw(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int which, int map, int priority, int priority_mark) +void segaic16_video_device::tilemap_draw(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int which, int map, int priority, int priority_mark) { - struct tilemap_info *info = &bg_tilemap[which]; + struct tilemap_info *info = &m_bg_tilemap[which]; /* text layer is a special common case */ if (map == SEGAIC16_TILEMAP_TEXT) @@ -1162,9 +1165,9 @@ void segaic16_video_device::segaic16_tilemap_draw(screen_device &screen, bitmap_ * *************************************/ -void segaic16_video_device::segaic16_tilemap_reset(screen_device &screen) +void segaic16_video_device::tilemap_reset(screen_device &screen) { - struct tilemap_info *info = &bg_tilemap[0]; + struct tilemap_info *info = &m_bg_tilemap[0]; if (info->reset) (*info->reset)(screen, info); @@ -1178,9 +1181,9 @@ void segaic16_video_device::segaic16_tilemap_reset(screen_device &screen) * *************************************/ -void segaic16_video_device::segaic16_tilemap_set_bank(int which, int banknum, int offset) +void segaic16_video_device::tilemap_set_bank(int which, int banknum, int offset) { - struct tilemap_info *info = &bg_tilemap[which]; + struct tilemap_info *info = &m_bg_tilemap[which]; if (info->bank[banknum] != offset) { @@ -1198,9 +1201,9 @@ void segaic16_video_device::segaic16_tilemap_set_bank(int which, int banknum, in * *************************************/ -void segaic16_video_device::segaic16_tilemap_set_flip(int which, int flip) +void segaic16_video_device::tilemap_set_flip(int which, int flip) { - struct tilemap_info *info = &bg_tilemap[which]; + struct tilemap_info *info = &m_bg_tilemap[which]; int pagenum; flip = (flip != 0); @@ -1222,9 +1225,9 @@ void segaic16_video_device::segaic16_tilemap_set_flip(int which, int flip) * *************************************/ -void segaic16_video_device::segaic16_tilemap_set_rowscroll(int which, int enable) +void segaic16_video_device::tilemap_set_rowscroll(int which, int enable) { - struct tilemap_info *info = &bg_tilemap[which]; + struct tilemap_info *info = &m_bg_tilemap[which]; enable = (enable != 0); if (info->rowscroll != enable) @@ -1242,9 +1245,9 @@ void segaic16_video_device::segaic16_tilemap_set_rowscroll(int which, int enable * *************************************/ -void segaic16_video_device::segaic16_tilemap_set_colscroll(int which, int enable) +void segaic16_video_device::tilemap_set_colscroll(int which, int enable) { - struct tilemap_info *info = &bg_tilemap[which]; + struct tilemap_info *info = &m_bg_tilemap[which]; enable = (enable != 0); if (info->colscroll != enable) @@ -1262,33 +1265,33 @@ void segaic16_video_device::segaic16_tilemap_set_colscroll(int which, int enable * *************************************/ -READ16_MEMBER( segaic16_video_device::segaic16_tileram_0_r ) +READ16_MEMBER( segaic16_video_device::tileram_r ) { - return segaic16_tileram_0[offset]; + return m_tileram[offset]; } -WRITE16_MEMBER( segaic16_video_device::segaic16_tileram_0_w ) +WRITE16_MEMBER( segaic16_video_device::tileram_w ) { - COMBINE_DATA(&segaic16_tileram_0[offset]); - bg_tilemap[0].tilemaps[offset / (64*32)]->mark_tile_dirty(offset % (64*32)); + COMBINE_DATA(&m_tileram[offset]); + m_bg_tilemap[0].tilemaps[offset / (64*32)]->mark_tile_dirty(offset % (64*32)); } -READ16_MEMBER( segaic16_video_device::segaic16_textram_0_r ) +READ16_MEMBER( segaic16_video_device::textram_r ) { - return segaic16_textram_0[offset]; + return m_textram[offset]; } -WRITE16_MEMBER( segaic16_video_device::segaic16_textram_0_w ) +WRITE16_MEMBER( segaic16_video_device::textram_w ) { /* certain ranges need immediate updates */ if (offset >= 0xe80/2) m_screen->update_partial(m_screen->vpos()); - COMBINE_DATA(&segaic16_textram_0[offset]); - bg_tilemap[0].textmap->mark_tile_dirty(offset); + COMBINE_DATA(&m_textram[offset]); + m_bg_tilemap[0].textmap->mark_tile_dirty(offset); } @@ -1303,9 +1306,9 @@ WRITE16_MEMBER( segaic16_video_device::segaic16_textram_0_w ) * *************************************/ -void segaic16_video_device::segaic16_rotate_init(running_machine &machine, int which, int type, int colorbase) +void segaic16_video_device::rotate_init(int which, int type, int colorbase) { - struct rotate_info *info = &segaic16_rotate[which]; + struct rotate_info *info = &m_rotate[which]; /* reset the tilemap info */ memset(info, 0, sizeof(*info)); @@ -1317,11 +1320,11 @@ void segaic16_video_device::segaic16_rotate_init(running_machine &machine, int w switch (which) { case 0: - info->rotateram = segaic16_rotateram_0; + info->rotateram = m_rotateram; break; default: - fatalerror("Invalid rotate index specified in segaic16_rotate_init\n"); + fatalerror("Invalid rotate index specified in rotate_init\n"); } /* determine the parameters of the rotate */ @@ -1332,14 +1335,14 @@ void segaic16_video_device::segaic16_rotate_init(running_machine &machine, int w break; default: - fatalerror("Invalid rotate system specified in segaic16_rotate_init\n"); + fatalerror("Invalid rotate system specified in rotate_init\n"); } /* allocate a buffer for swapping */ - info->buffer = auto_alloc_array(machine, UINT16, info->ramsize/2); + info->buffer = auto_alloc_array(machine(), UINT16, info->ramsize/2); - state_save_register_item(machine, "segaic16_rot", NULL, which, info->colorbase); - state_save_register_item_pointer(machine, "segaic16_rot", NULL, which, ((UINT8 *) info->buffer), info->ramsize); + save_item(NAME(info->colorbase), which); + save_pointer(NAME((UINT8 *) info->buffer), info->ramsize, which); } @@ -1350,9 +1353,9 @@ void segaic16_video_device::segaic16_rotate_init(running_machine &machine, int w * *************************************/ -void segaic16_video_device::segaic16_rotate_draw(int which, bitmap_ind16 &bitmap, const rectangle &cliprect, bitmap_ind8 &priority_bitmap, bitmap_ind16 &srcbitmap) +void segaic16_video_device::rotate_draw(int which, bitmap_ind16 &bitmap, const rectangle &cliprect, bitmap_ind8 &priority_bitmap, bitmap_ind16 &srcbitmap) { - struct rotate_info *info = &segaic16_rotate[which]; + struct rotate_info *info = &m_rotate[which]; INT32 currx = (info->buffer[0x3f0] << 16) | info->buffer[0x3f1]; INT32 curry = (info->buffer[0x3f2] << 16) | info->buffer[0x3f3]; INT32 dyy = (info->buffer[0x3f4] << 16) | info->buffer[0x3f5]; @@ -1413,9 +1416,9 @@ void segaic16_video_device::segaic16_rotate_draw(int which, bitmap_ind16 &bitmap * *************************************/ -READ16_MEMBER( segaic16_video_device::segaic16_rotate_control_0_r ) +READ16_MEMBER( segaic16_video_device::rotate_control_r ) { - struct rotate_info *info = &segaic16_rotate[0]; + struct rotate_info *info = &m_rotate[0]; if (info->buffer) { |