mirror of
https://github.com/holub/mame
synced 2025-05-28 16:43:04 +03:00
Added sprite flip y, improved the MCU sim
This commit is contained in:
parent
5b3e34c733
commit
62cdb1ae23
@ -11,6 +11,7 @@
|
||||
- colors;
|
||||
- fix remaining video issues;
|
||||
- sound;
|
||||
- add flipscreen;
|
||||
|
||||
(wait until it completes the post test, then put 1 to be23)
|
||||
|
||||
@ -163,8 +164,6 @@ static VIDEO_UPDATE( cyclemb )
|
||||
spr_offs = (cyclemb_obj1_ram[i+0]);
|
||||
col = (cyclemb_obj1_ram[i+1] & 0x3f);
|
||||
region = ((cyclemb_obj3_ram[i] & 0x10) >> 4) + 1;
|
||||
if(region == 2 && spr_offs & 3)
|
||||
continue;
|
||||
if(region == 2)
|
||||
{
|
||||
spr_offs >>= 2;
|
||||
@ -177,8 +176,8 @@ static VIDEO_UPDATE( cyclemb )
|
||||
//if(cyclemb_obj3_ram[i+1] & 2)
|
||||
// x-=256;
|
||||
fx = cyclemb_obj3_ram[i+0] & 4;
|
||||
fy = 0;
|
||||
drawgfx_transpen(bitmap,cliprect,screen->machine->gfx[region],spr_offs,col,fx,0,x,y,0);
|
||||
fy = cyclemb_obj3_ram[i+0] & 8;
|
||||
drawgfx_transpen(bitmap,cliprect,screen->machine->gfx[region],spr_offs,col,fx,fy,x,y,0);
|
||||
}
|
||||
}
|
||||
|
||||
@ -243,8 +242,8 @@ static ADDRESS_MAP_START( cyclemb_sound_io, ADDRESS_SPACE_IO, 8 )
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static INPUT_PORTS_START( cyclemb )
|
||||
PORT_START("DSWA")
|
||||
PORT_DIPNAME( 0x01, 0x01, "DSWA" )
|
||||
PORT_START("DSW1")
|
||||
PORT_DIPNAME( 0x01, 0x01, "DSW1" )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
|
||||
@ -269,8 +268,8 @@ static INPUT_PORTS_START( cyclemb )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
|
||||
PORT_START("DSWB")
|
||||
PORT_DIPNAME( 0x01, 0x01, "DSWB" )
|
||||
PORT_START("DSW2")
|
||||
PORT_DIPNAME( 0x01, 0x01, "DSW2" )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
|
||||
|
@ -552,7 +552,17 @@ static void cyclemb_8741_w(const address_space *space, int num, int offset, int
|
||||
mcu->sts |= 0x02;
|
||||
break;
|
||||
case 1:
|
||||
mcu->txd = data ^ 0x40;
|
||||
/*
|
||||
status codes:
|
||||
0x06 sub NG IOX2
|
||||
0x05 sub NG IOX1
|
||||
0x04 sub NG CIOS
|
||||
0x03 sub NG OPN
|
||||
0x02 sub NG ROM
|
||||
0x01 sub NG RAM
|
||||
0x00 ok
|
||||
*/
|
||||
mcu->txd = 0 ^ 0x40;
|
||||
mcu->sts |= 0x02;
|
||||
#if 1
|
||||
/* ?? */
|
||||
@ -567,6 +577,8 @@ static void cyclemb_8741_w(const address_space *space, int num, int offset, int
|
||||
#endif
|
||||
break;
|
||||
case 3: /* normal mode ? */
|
||||
mcu->rxd = input_port_read(space->machine, "DSW1");
|
||||
mcu->sts |= 0x01; /* RD ready */
|
||||
break;
|
||||
|
||||
case 0xf0: /* clear main sts ? */
|
||||
@ -605,7 +617,9 @@ static INT8 cyclemb_8741_r(const address_space *space,int num,int offset)
|
||||
if(offset==1)
|
||||
{
|
||||
if(mcu->rst)
|
||||
{
|
||||
mcu->rxd = input_port_read(space->machine, mcu->initReadPort); /* port in */
|
||||
}
|
||||
ret = mcu->sts;
|
||||
LOG(("%s:8741[%d] SR %02X\n",cpuexec_describe_context(space->machine),num,ret));
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user