Previous 199869 Revisions Next

r20737 Tuesday 5th February, 2013 at 01:26:30 UTC by Angelo Salese
Fixed input regression with Bug 2
[src/emu/cpu/scudsp]scudspdasm.c
[src/mame/drivers]saturn.c
[src/mame/video]stvvdp1.c

trunk/src/emu/cpu/scudsp/scudspdasm.c
r20736r20737
2424   EA_DMADSTMEM,
2525   EA_DSTMEM,
2626   EA_MVIDSTMEM,
27   EA_FLAGS,
28   EA_DMASRCMEM
29
2730};
2831
2932struct SCUDSP_OPCODE {
3033   char mnemonic[32];
3134   int address_mode_1;
3235   int address_mode_2;
33   int address_mode_3,
36   int address_mode_3;
3437};
3538
3639static const SCUDSP_OPCODE alu_table[16] =
r20736r20737
9598{
9699   { "DMA",  EA_D0,          EA_DMADSTMEM,  EA_IMM8, }, /* 000 */ // "DMA%H%A D0,%M,%I",
97100   { "DMA",  EA_DMASRCMEM,   EA_D0,  EA_IMM8, },   /* 001 */ // "DMA%H%A %s,D0,%I",
98   { "DMA",  0,          0,  0, }, /* 010 */ // "DMA%H%A D0,%M,%s",
101   { "DMA",  0,   0,  0, }, /* 010 */ // "DMA%H%A D0,%M,%s",
99102   { "DMA",  0,   0,  0, },                        /* 011 */ // "DMA%H%A %s,D0,%s",
100103   { "DMAH", EA_D0,   EA_DMADSTMEM,  EA_IMM8, },   /* 100 */ // "DMA%H%A D0,%M,%I",
101104   { "DMAH", EA_DMASRCMEM,   EA_D0,  EA_IMM8, },   /* 101 */ // "DMA%H%A %s,D0,%I",
r20736r20737
206209/*****************************************************************************/
207210
208211static char *output;
209static const UINT32 *rombase;
212static const UINT8 *rombase;
210213
211214static void ATTR_PRINTF(1,2) print(const char *fmt, ...)
212215{
r20736r20737
236239
237240static UINT32 decode_opcode(UINT32 pc, const SCUDSP_OPCODE *op_table,UINT32 cur_opcode)
238241{
239   INT8 rel8;
240   UINT32 imm32;
241   UINT8 op2;
242//   INT8 rel8;
243//   UINT32 imm32;
244//   UINT8 op2;
242245   UINT32 flags = 0;
243246
244247   //if (!strcmp(op_table->mnemonic, "jsr") || !strcmp(op_table->mnemonic, "bsr"))
trunk/src/mame/video/stvvdp1.c
r20736r20737
194194
195195         return modr;
196196      default:
197         if(!space.debugger_access())
197198         printf ("cpu %s (PC=%08X) VDP1: Read from Registers, Offset %04x\n", space.device().tag(), space.device().safe_pc(), offset*2);
198199         break;
199200   }
r20736r20737
19851986               break;
19861987
19871988            case 0x0005:
1988//            case 0x0007: // mirror?
1989//            case 0x0007: // mirror? Baroque uses it, crashes for whatever reason
19891990               if (VDP1_LOG) logerror ("Sprite List Polyline\n");
19901991               stv2_current_sprite.ispoly = 1;
19911992               stv_vdp1_draw_poly_line(machine, *cliprect);
r20736r20737
19981999               break;
19992000
20002001            case 0x0008:
2001//            case 0x000b: // mirror?
2002//            case 0x000b: // mirror? Bug 2
20022003               if (VDP1_LOG) logerror ("Sprite List Set Command for User Clipping (%d,%d),(%d,%d)\n", stv2_current_sprite.CMDXA, stv2_current_sprite.CMDYA, stv2_current_sprite.CMDXC, stv2_current_sprite.CMDYC);
20032004               state->m_vdp1.user_cliprect.set(stv2_current_sprite.CMDXA, stv2_current_sprite.CMDXC, stv2_current_sprite.CMDYA, stv2_current_sprite.CMDYC);
20042005               break;
trunk/src/mame/drivers/saturn.c
r20736r20737
850850   }
851851}
852852
853/* Note: unused bits must stay high, Bug 2 relies on this. */
853854#define SATURN_PAD_P1(_mask_, _val_) \
854855   PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1) PORT_CONDITION("INPUT_TYPE", _mask_, EQUALS, _val_) \
855856   PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1) PORT_CONDITION("INPUT_TYPE", _mask_, EQUALS, _val_) \
r20736r20737
864865   PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("P1 Y") PORT_PLAYER(1) PORT_CONDITION("INPUT_TYPE", _mask_, EQUALS, _val_) \
865866   PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("P1 Z") PORT_PLAYER(1) PORT_CONDITION("INPUT_TYPE", _mask_, EQUALS, _val_) \
866867   PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("P1 L") PORT_PLAYER(1) PORT_CONDITION("INPUT_TYPE", _mask_, EQUALS, _val_) \
867   PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_CONDITION("INPUT_TYPE", _mask_, EQUALS, _val_) \
868   PORT_BIT( 0x0003, IP_ACTIVE_HIGH, IPT_UNUSED ) PORT_CONDITION("INPUT_TYPE", _mask_, EQUALS, _val_)
868   PORT_BIT( 0x0007, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_CONDITION("INPUT_TYPE", _mask_, EQUALS, _val_)
869869
870
871870#define SATURN_PAD_P2(_mask_, _val_) \
872871   PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2) PORT_CONDITION("INPUT_TYPE", _mask_, EQUALS, _val_) \
873872   PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2) PORT_CONDITION("INPUT_TYPE", _mask_, EQUALS, _val_) \
r20736r20737
882881   PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("P2 Y") PORT_PLAYER(2) PORT_CONDITION("INPUT_TYPE", _mask_, EQUALS, _val_) \
883882   PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_NAME("P2 Z") PORT_PLAYER(2) PORT_CONDITION("INPUT_TYPE", _mask_, EQUALS, _val_) \
884883   PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_NAME("P2 L") PORT_PLAYER(2) PORT_CONDITION("INPUT_TYPE", _mask_, EQUALS, _val_) \
885   PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_CONDITION("INPUT_TYPE", _mask_, EQUALS, _val_) \
886   PORT_BIT( 0x0003, IP_ACTIVE_HIGH, IPT_UNUSED ) PORT_CONDITION("INPUT_TYPE", _mask_, EQUALS, _val_)
884   PORT_BIT( 0x0007, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_CONDITION("INPUT_TYPE", _mask_, EQUALS, _val_)
887885
888886#define MD_PAD_P1(_mask_, _val_) \
889887   PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1) PORT_CONDITION("INPUT_TYPE", _mask_, EQUALS, _val_) \

Previous 199869 Revisions Next


© 1997-2024 The MAME Team