mirror of
https://github.com/holub/mame
synced 2025-05-20 04:39:11 +03:00
Minor notes, nw
This commit is contained in:
parent
4261da17d8
commit
6da815205e
@ -4365,8 +4365,8 @@ M68KMAKE_OP(cpbcc, 32, ., .)
|
|||||||
{
|
{
|
||||||
if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
|
if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
|
||||||
{
|
{
|
||||||
//logerror("%s at %08x: called unimplemented instruction %04x (cpbcc)\n",
|
logerror("%s at %08x: called unimplemented instruction %04x (cpbcc)\n",
|
||||||
// m68k->device->tag(), REG_PC - 2, m68k->ir);
|
m68k->device->tag(), REG_PC - 2, m68k->ir);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
m68ki_exception_1111(m68k);
|
m68ki_exception_1111(m68k);
|
||||||
@ -4413,8 +4413,8 @@ M68KMAKE_OP(cptrapcc, 32, ., .)
|
|||||||
{
|
{
|
||||||
if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
|
if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
|
||||||
{
|
{
|
||||||
//logerror("%s at %08x: called unimplemented instruction %04x (cptrapcc)\n",
|
logerror("%s at %08x: called unimplemented instruction %04x (cptrapcc)\n",
|
||||||
// m68k->device->tag(), REG_PC - 2, m68k->ir);
|
m68k->device->tag(), REG_PC - 2, m68k->ir);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
m68ki_exception_1111(m68k);
|
m68ki_exception_1111(m68k);
|
||||||
|
@ -340,6 +340,7 @@ Notes:
|
|||||||
|
|
||||||
TODO:
|
TODO:
|
||||||
- dendeg2 hangs on init step 10.
|
- dendeg2 hangs on init step 10.
|
||||||
|
- dendeg intro object RAM usage looks suspicious (needs reference)
|
||||||
- landgear has some weird crashes (after playing one round, after a couple of loops in attract mode) (needs testing -AS)
|
- landgear has some weird crashes (after playing one round, after a couple of loops in attract mode) (needs testing -AS)
|
||||||
- landgear has huge 3d problems on gameplay (CPU comms?)
|
- landgear has huge 3d problems on gameplay (CPU comms?)
|
||||||
- dendeg2x usually crashes when starting the game (lots of read and writes to invalid addresses).
|
- dendeg2x usually crashes when starting the game (lots of read and writes to invalid addresses).
|
||||||
|
@ -81,10 +81,19 @@ WRITE32_HANDLER(taitojc_char_w)
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
Object RAM is grouped in three different banks (0-0x400 / 0x400-0x800 / 0x800-0xc00),
|
Object RAM is grouped in three different banks (0-0x400 / 0x400-0x800 / 0x800-0xc00),
|
||||||
Initial 6 dwords of each bank aren't for object stuff (individual vregs for each bank?)
|
Initial 6 dwords aren't surely for object stuff (setting global object flags?)
|
||||||
0xc00-0xfbf seems to be a clut, while 0xfc0-0xfff is global vregs. 0xfc6 bit 13 is used to swap between
|
0xd00-0xdff seems to be a per-bank vregister. Usage of this is mostly unknown, the only
|
||||||
bank 0 and bank 1
|
clue we have so far is this config change in dendeg:
|
||||||
|
0x2000db3f 0x3f3f3f3f 0xfec00090 0x403f00ff 0xd20-0xd2f on Taito logo
|
||||||
|
0x2000db3f 0x3f3f3f3f 0xff600090 0x207f00ff 0xd20-0xd2f on intro FMV
|
||||||
|
|
||||||
|
dword 0 bits 14-15 looks up to the object RAM for the given bank. (it's mostly fixed to 0,
|
||||||
|
1 and 2 for each bank). Then dwords 2 and 3 should presumably configure bank 1 to a bigger
|
||||||
|
(doubled?) height and width and a different x/y start point.
|
||||||
|
|
||||||
|
0xfc0-0xfff is global vregs. 0xfc6 bit 13 is used to swap between bank 0 and bank 1.
|
||||||
It's unknown at current time how bank 2 should show up.
|
It's unknown at current time how bank 2 should show up.
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static void draw_object(running_machine &machine, bitmap_t *bitmap, const rectangle *cliprect, UINT32 w1, UINT32 w2)
|
static void draw_object(running_machine &machine, bitmap_t *bitmap, const rectangle *cliprect, UINT32 w1, UINT32 w2)
|
||||||
@ -243,6 +252,8 @@ SCREEN_UPDATE( taitojc )
|
|||||||
if((state->m_objlist[0xfc4/4] & 0x0000ffff) != 0x0000 && (state->m_objlist[0xfc4/4] & 0x0000ffff) != 0x2000 && (state->m_objlist[0xfc4/4] & 0x0000ffff) != 0xf000 )
|
if((state->m_objlist[0xfc4/4] & 0x0000ffff) != 0x0000 && (state->m_objlist[0xfc4/4] & 0x0000ffff) != 0x2000 && (state->m_objlist[0xfc4/4] & 0x0000ffff) != 0xf000 )
|
||||||
popmessage("%08x, contact MAMEdev",state->m_objlist[0xfc4/4]);
|
popmessage("%08x, contact MAMEdev",state->m_objlist[0xfc4/4]);
|
||||||
|
|
||||||
|
popmessage("%08x %08x %08x %08x",state->m_objlist[0xd20/4],state->m_objlist[0xd24/4],state->m_objlist[0xd28/4],state->m_objlist[0xd2c/4]);
|
||||||
|
|
||||||
for (i=start_offs-2; i >= (start_offs-0x400/4); i-=2)
|
for (i=start_offs-2; i >= (start_offs-0x400/4); i-=2)
|
||||||
{
|
{
|
||||||
UINT32 w1 = state->m_objlist[i + 0];
|
UINT32 w1 = state->m_objlist[i + 0];
|
||||||
|
Loading…
Reference in New Issue
Block a user