这就是我理解你的意思

Guys keep up the good work. Me, and i am sure a lot of people, are following with interest your progress... even if what you write reads sometimes like chinese

Also, this bit of code brings back some details. FE0000 'cache' for Progear rings a bell. 7000 and 7080 offsets also, if i dig into mame a bit further. (there's a prio part there too, holds values like 2354 2345 mostly.)Asure wrote:From video/cps1.c
Code: Select all
void cps_state::cps2_objram_latch() { cps2_set_sprite_priorities(); memcpy(m_cps2_buffered_obj, cps2_objbase(), m_cps2_obj_size); }
Asure wrote:Also, this bit of code brings back some details. FE0000 'cache' for Progear rings a bell. 7000 and 7080 offsets also, if i dig into mame a bit further. (there's a prio part there too, holds values like 2354 2345 mostly.)Asure wrote:From video/cps1.c
Code: Select all
void cps_state::cps2_objram_latch() { cps2_set_sprite_priorities(); memcpy(m_cps2_buffered_obj, cps2_objbase(), m_cps2_obj_size); }
Gotta go out now, too little time to check atm.
http://read.pudn.com/downloads158/sourc ... er.c__.htm
Code: Select all
UINT16 *cps_state::cps2_objbase()
{
int baseptr;
baseptr = 0x7000;
if (m_objram_bank & 1)
baseptr ^= 0x0080;
//popmessage("%04x %d", cps2_port(machine, CPS2_OBJ_BASE), m_objram_bank & 1);
if (baseptr == 0x7000)
return m_objram1;
else //if (baseptr == 0x7080)
return m_objram2;
}
Code: Select all
if (baseptr == 0x7000)
return m_objram1;
else //if (baseptr == 0x7080)
return m_objram2;
}
Code: Select all
void cps_state::cps2_objram_latch()
{
cps2_set_sprite_priorities();
memcpy(m_cps2_buffered_obj, cps2_objbase(), m_cps2_obj_size);
}
Code: Select all
0142DC: eori.b #$1, ($60,A5)
0142E2: st ($61,A5)
That makes no sense unless you didn't convert the graphics.Asure wrote:Figured out what's wrong (but no solution yet). Sprite list data from cps1 -> cps2 differs or is wrong.
I have punisher code displaying sprites from Dungeons & Dragons.
Leo you have PM