summaryrefslogtreecommitdiffstatshomepage
path: root/src/mess
diff options
context:
space:
mode:
author David Haywood <mamehaze@users.noreply.github.com>2014-05-15 15:46:21 +0000
committer David Haywood <mamehaze@users.noreply.github.com>2014-05-15 15:46:21 +0000
commit1a9ed9ebe857c3df11176a7509ebd389df863d99 (patch)
tree237d2763c564a38205262c351d3c6ba81c651c4f /src/mess
parent36ad612f608726a3981bdc3d8f85db27a3304e26 (diff)
short whatsnew: fixed some gfx bugs in midas.c "livequiz"
long wn: started converting neogeo video / sprite system to a device_reset created base device + number of derived classes NEOGEO_SPRITE_REGULAR is an reference implementation, drawing direct from NEOGEO_SPRITE_OPTIMZIED is a version with predecoded gfx (as we use now) this is the default used by the driver NEOGEO_SPRITE_MIDAS is a version supporting the changes needed by the MIDAS games (mainly 8bpp instead of 4bpp)
Diffstat (limited to 'src/mess')
-rw-r--r--src/mess/drivers/ng_aes.c12
-rw-r--r--src/mess/mess.mak1
2 files changed, 9 insertions, 4 deletions
diff --git a/src/mess/drivers/ng_aes.c b/src/mess/drivers/ng_aes.c
index 5ef97363945..bd6734d5f81 100644
--- a/src/mess/drivers/ng_aes.c
+++ b/src/mess/drivers/ng_aes.c
@@ -375,7 +375,7 @@ WRITE16_MEMBER(ng_aes_state::neocd_control_w)
case 0x0140:
// bprintf(PRINT_NORMAL, _T(" - NGCD OBJ BUSREQ -> 0 (PC: 0x%06X)\n"), SekGetPC(-1));
m_has_sprite_bus = true;
- optimize_sprite_data();
+ m_sprgen->optimize_sprite_data();
break;
case 0x0142:
// bprintf(PRINT_NORMAL, _T(" - NGCD PCM BUSREQ -> 0 (PC: 0x%06X)\n"), SekGetPC(-1));
@@ -1015,6 +1015,10 @@ void ng_aes_state::common_machine_start()
save_item(NAME(m_main_cpu_bank_address));
machine().save().register_postload(save_prepost_delegate(FUNC(ng_aes_state::neogeo_postload), this));
+
+ m_sprgen->set_screen(m_screen);
+ m_sprgen->set_sprite_region(m_region_sprites);
+ m_sprgen->set_fixed_regions(m_region_fixed, m_region_fixedbios);
}
MACHINE_START_MEMBER(ng_aes_state,neogeo)
@@ -1077,7 +1081,7 @@ MACHINE_RESET_MEMBER(ng_aes_state,neogeo)
m_recurse = false;
/* AES has no SFIX ROM and always uses the cartridge's */
- neogeo_set_fixed_layer_source(1);
+ m_sprgen->neogeo_set_fixed_layer_source(1);
NeoSpriteRAM = memregion("sprites")->base();
YM2610ADPCMAROM = memregion("ymsnd")->base();
@@ -1453,9 +1457,9 @@ UINT32 ng_aes_state::screen_update_neocd(screen_device &screen, bitmap_rgb32 &bi
// fill with background color first
bitmap.fill(m_pens[0x0fff], cliprect);
- if (m_has_sprite_bus) draw_sprites(bitmap, cliprect.min_y);
+ if (m_has_sprite_bus) m_sprgen->draw_sprites(bitmap, cliprect.min_y);
- if (m_has_text_bus) draw_fixed_layer(bitmap, cliprect.min_y);
+ if (m_has_text_bus) m_sprgen->draw_fixed_layer(bitmap, cliprect.min_y);
return 0;
}
diff --git a/src/mess/mess.mak b/src/mess/mess.mak
index d4687a6082b..5cee01c263a 100644
--- a/src/mess/mess.mak
+++ b/src/mess/mess.mak
@@ -1771,6 +1771,7 @@ $(MESSOBJ)/snk.a: \
$(MAME_MACHINE)/neocrypt.o \
$(MAME_MACHINE)/neoprot.o \
$(MAME_MACHINE)/neoboot.o \
+ $(MAME_VIDEO)/neogeo_spr.o \
$(MAME_DRIVERS)/neogeo.o \
$(MESS_DRIVERS)/ngp.o \
$(MESS_VIDEO)/k1ge.o \