mirror of
https://github.com/holub/mame
synced 2025-07-04 09:28:51 +03:00
deco_ace: Fix a few dimension errors (nw)
This commit is contained in:
parent
261533eaae
commit
3c954ba9a7
@ -56,6 +56,7 @@
|
|||||||
|
|
||||||
#include "emu.h"
|
#include "emu.h"
|
||||||
#include "video/deco_ace.h"
|
#include "video/deco_ace.h"
|
||||||
|
#include <algorithm>
|
||||||
|
|
||||||
|
|
||||||
DEFINE_DEVICE_TYPE(DECO_ACE, deco_ace_device, "deco_ace", "Data East 99 'ACE' Chip")
|
DEFINE_DEVICE_TYPE(DECO_ACE, deco_ace_device, "deco_ace", "Data East 99 'ACE' Chip")
|
||||||
@ -88,12 +89,12 @@ void deco_ace_device::static_set_palette_tag(device_t &device, const char *tag)
|
|||||||
|
|
||||||
void deco_ace_device::device_start()
|
void deco_ace_device::device_start()
|
||||||
{
|
{
|
||||||
m_paletteram = make_unique_clear<uint32_t[]>(4096);
|
m_paletteram = make_unique_clear<uint32_t[]>(2048);
|
||||||
m_paletteram_buffered = make_unique_clear<uint32_t[]>(4096);
|
m_paletteram_buffered = make_unique_clear<uint32_t[]>(2048);
|
||||||
m_ace_ram = make_unique_clear<uint16_t[]>(0x28);
|
m_ace_ram = make_unique_clear<uint16_t[]>(0x28);
|
||||||
|
|
||||||
save_pointer(NAME(m_paletteram.get()), 4096);
|
save_pointer(NAME(m_paletteram.get()), 2048);
|
||||||
save_pointer(NAME(m_paletteram_buffered.get()), 4096);
|
save_pointer(NAME(m_paletteram_buffered.get()), 2048);
|
||||||
save_pointer(NAME(m_ace_ram.get()), 0x28);
|
save_pointer(NAME(m_ace_ram.get()), 0x28);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -166,7 +167,6 @@ WRITE16_MEMBER( deco_ace_device::ace_w )
|
|||||||
|
|
||||||
void deco_ace_device::palette_update()
|
void deco_ace_device::palette_update()
|
||||||
{
|
{
|
||||||
int r,g,b,i;
|
|
||||||
uint8_t fadeptr=m_ace_ram[0x20] & 0xff;
|
uint8_t fadeptr=m_ace_ram[0x20] & 0xff;
|
||||||
uint8_t fadeptg=m_ace_ram[0x21] & 0xff;
|
uint8_t fadeptg=m_ace_ram[0x21] & 0xff;
|
||||||
uint8_t fadeptb=m_ace_ram[0x22] & 0xff;
|
uint8_t fadeptb=m_ace_ram[0x22] & 0xff;
|
||||||
@ -175,12 +175,12 @@ void deco_ace_device::palette_update()
|
|||||||
uint8_t fadepsb=m_ace_ram[0x25] & 0xff;
|
uint8_t fadepsb=m_ace_ram[0x25] & 0xff;
|
||||||
uint16_t mode=m_ace_ram[0x26] & 0xffff;
|
uint16_t mode=m_ace_ram[0x26] & 0xffff;
|
||||||
|
|
||||||
for (i=0; i<2048; i++)
|
for (int i = 0; i < 2048; i++)
|
||||||
{
|
{
|
||||||
/* Lerp palette entry to 'fadept' according to 'fadeps' */
|
/* Lerp palette entry to 'fadept' according to 'fadeps' */
|
||||||
b = (m_paletteram_buffered[i] >>16) & 0xff;
|
uint8_t b = (m_paletteram_buffered[i] >>16) & 0xff;
|
||||||
g = (m_paletteram_buffered[i] >> 8) & 0xff;
|
uint8_t g = (m_paletteram_buffered[i] >> 8) & 0xff;
|
||||||
r = (m_paletteram_buffered[i] >> 0) & 0xff;
|
uint8_t r = (m_paletteram_buffered[i] >> 0) & 0xff;
|
||||||
|
|
||||||
if ((i>=m_palette_effect_min) && (i<=m_palette_effect_max))
|
if ((i>=m_palette_effect_min) && (i<=m_palette_effect_max))
|
||||||
{
|
{
|
||||||
@ -257,7 +257,7 @@ uint16_t deco_ace_device::get_aceram(uint8_t val)
|
|||||||
|
|
||||||
WRITE16_MEMBER( deco_ace_device::palette_dma_w )
|
WRITE16_MEMBER( deco_ace_device::palette_dma_w )
|
||||||
{
|
{
|
||||||
memcpy(m_paletteram_buffered.get(), m_paletteram.get(), 4096);
|
std::copy(&m_paletteram[0], &m_paletteram[2048], &m_paletteram_buffered[0]);
|
||||||
palette_update();
|
palette_update();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user