diff options
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 |
commit | 1a9ed9ebe857c3df11176a7509ebd389df863d99 (patch) | |
tree | 237d2763c564a38205262c351d3c6ba81c651c4f /src/mess | |
parent | 36ad612f608726a3981bdc3d8f85db27a3304e26 (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.c | 12 | ||||
-rw-r--r-- | src/mess/mess.mak | 1 |
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 \ |