mirror of
https://github.com/holub/mame
synced 2025-05-21 05:08:54 +03:00
Cleanups and version bump.
This commit is contained in:
parent
717a11337e
commit
1390af8fa4
@ -219,7 +219,7 @@ INLINE void store_pack_float80(m68ki_cpu_core *m68k, UINT32 ea, int k, floatx80
|
||||
{
|
||||
dw2 &= pkmask2[17];
|
||||
dw3 &= pkmask3[17];
|
||||
// m68k->fpcr |= (need to set OPERR bit)
|
||||
// m68k->fpcr |= (need to set OPERR bit)
|
||||
}
|
||||
}
|
||||
|
||||
@ -604,7 +604,7 @@ static floatx80 READ_EA_FPE(m68ki_cpu_core *m68k, int ea)
|
||||
case 2: // (d16, PC)
|
||||
{
|
||||
UINT32 ea = EA_PCDI_32(m68k);
|
||||
fpr = load_extended_float80(m68k, ea);
|
||||
fpr = load_extended_float80(m68k, ea);
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -118,7 +118,7 @@ READ8_HANDLER( wow_speech_r )
|
||||
totalword_ptr = totalword;
|
||||
|
||||
Phoneme = data & 0x3F;
|
||||
// Intonation = data >> 6;
|
||||
// Intonation = data >> 6;
|
||||
|
||||
// logerror("Data : %d Speech : %s at intonation %d\n",Phoneme, PhonemeTable[Phoneme],Intonation);
|
||||
|
||||
|
@ -39,19 +39,19 @@ Thanks to Alex, Mr Mudkips, and Philip Burke for this info.
|
||||
#include "includes/naomibd.h"
|
||||
|
||||
/*
|
||||
St. Instr. Comment
|
||||
0x02 PEEK ACC := MEM[OP1]
|
||||
0x03 POKE MEM[OP1] := OP2
|
||||
0x04 POKEPCI PCICONF[OP1] := OP2
|
||||
0x05 PEEKPCI ACC := PCICONF[OP1]
|
||||
0x06 AND/OR ACC := (ACC & OP1) | OP2
|
||||
0x07 (prefix) execute the instruction code in OP1 with OP1 := OP2, OP2 := ACC
|
||||
0x08 BNE IF ACC = OP1 THEN PC := PC + OP2
|
||||
0x09 BRA PC := PC + OP2
|
||||
0x10 AND/OR ACC2 (unused/defunct) ACC2 := (ACC2 & OP1) | OP2
|
||||
0x11 OUTB PORT[OP1] := OP2
|
||||
0x12 INB ACC := PORT(OP1)
|
||||
0xEE END
|
||||
St. Instr. Comment
|
||||
0x02 PEEK ACC := MEM[OP1]
|
||||
0x03 POKE MEM[OP1] := OP2
|
||||
0x04 POKEPCI PCICONF[OP1] := OP2
|
||||
0x05 PEEKPCI ACC := PCICONF[OP1]
|
||||
0x06 AND/OR ACC := (ACC & OP1) | OP2
|
||||
0x07 (prefix) execute the instruction code in OP1 with OP1 := OP2, OP2 := ACC
|
||||
0x08 BNE IF ACC = OP1 THEN PC := PC + OP2
|
||||
0x09 BRA PC := PC + OP2
|
||||
0x10 AND/OR ACC2 (unused/defunct) ACC2 := (ACC2 & OP1) | OP2
|
||||
0x11 OUTB PORT[OP1] := OP2
|
||||
0x12 INB ACC := PORT(OP1)
|
||||
0xEE END
|
||||
*/
|
||||
static READ32_HANDLER( chihiro_jamtable )
|
||||
{
|
||||
|
@ -197,11 +197,11 @@ Stephh's notes (based on the games Z80 code and some tests) for games based on '
|
||||
when "Coinage" is set to "99 Credits", credits are always set to 99 when pressing COIN1 (code at 0x037d).
|
||||
- There is an unused coinage routine at 0x0159 with the following settings :
|
||||
|
||||
PORT_DIPNAME( 0x06, 0x00, DEF_STR( Coinage ) )
|
||||
PORT_DIPSETTING( 0x00, "A 2/1 B 99" )
|
||||
PORT_DIPSETTING( 0x06, "A 1/2 B 1/1" )
|
||||
PORT_DIPSETTING( 0x04, "A 1/5 B 1/1" )
|
||||
PORT_DIPSETTING( 0x02, "A 1/7 B 1/1" )
|
||||
PORT_DIPNAME( 0x06, 0x00, DEF_STR( Coinage ) )
|
||||
PORT_DIPSETTING( 0x00, "A 2/1 B 99" )
|
||||
PORT_DIPSETTING( 0x06, "A 1/2 B 1/1" )
|
||||
PORT_DIPSETTING( 0x04, "A 1/5 B 1/1" )
|
||||
PORT_DIPSETTING( 0x02, "A 1/7 B 1/1" )
|
||||
|
||||
I can't tell at the moment if it's a leftover from another Konami game on similar hardware.
|
||||
- You can have 3 or 4 lives at start, and you can only continue 4 times (code at 0x0ebf).
|
||||
|
@ -2568,11 +2568,11 @@ static INPUT_PORTS_START( anteater )
|
||||
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
// PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
|
||||
// PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
|
||||
// PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
|
||||
// PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
|
||||
// PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
|
||||
// PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL
|
||||
// PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL
|
||||
// PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL
|
||||
// PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
|
||||
// PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
|
||||
PORT_BIT( 0x7c, IP_ACTIVE_LOW, IPT_UNUSED ) /* see notes */
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
@ -2583,9 +2583,9 @@ static INPUT_PORTS_START( anteater )
|
||||
PORT_DIPSETTING( 0x00, "A 1/2 B 2/1" )
|
||||
PORT_DIPSETTING( 0x04, "A 1/3 B 3/1" )
|
||||
PORT_DIPSETTING( 0x06, "A 1/4 B 4/1" )
|
||||
// PORT_DIPNAME( 0x08, 0x08, DEF_STR( Cabinet ) )
|
||||
// PORT_DIPSETTING( 0x08, DEF_STR( Upright ) )
|
||||
// PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
|
||||
// PORT_DIPNAME( 0x08, 0x08, DEF_STR( Cabinet ) )
|
||||
// PORT_DIPSETTING( 0x08, DEF_STR( Upright ) )
|
||||
// PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
|
||||
PORT_DIPUNUSED( 0x08, IP_ACTIVE_LOW ) /* see notes */
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0xb0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
@ -2628,9 +2628,9 @@ static INPUT_PORTS_START( calipso )
|
||||
PORT_DIPSETTING( 0x00, "A 1/2 B 2/1" )
|
||||
PORT_DIPSETTING( 0x04, "A 1/3 B 3/1" )
|
||||
PORT_DIPSETTING( 0x06, "A 1/4 B 4/1" )
|
||||
// PORT_DIPNAME( 0x08, 0x08, DEF_STR( Cabinet ) )
|
||||
// PORT_DIPSETTING( 0x08, DEF_STR( Upright ) )
|
||||
// PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
|
||||
// PORT_DIPNAME( 0x08, 0x08, DEF_STR( Cabinet ) )
|
||||
// PORT_DIPSETTING( 0x08, DEF_STR( Upright ) )
|
||||
// PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
|
||||
PORT_DIPUNUSED( 0x08, IP_ACTIVE_LOW ) /* see notes */
|
||||
PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
|
||||
|
@ -555,8 +555,8 @@ static READ32_HANDLER( hng64_sysregs_r )
|
||||
mame_system_time systime;
|
||||
mame_get_base_datetime(space->machine, &systime);
|
||||
|
||||
// if((offset*4) != 0x1084)
|
||||
// printf("HNG64 port read (PC=%08x) 0x%08x\n", cpu_get_pc(space->cpu),offset*4);
|
||||
// if((offset*4) != 0x1084)
|
||||
// printf("HNG64 port read (PC=%08x) 0x%08x\n", cpu_get_pc(space->cpu),offset*4);
|
||||
|
||||
switch(offset*4)
|
||||
{
|
||||
@ -587,9 +587,9 @@ static READ32_HANDLER( hng64_sysregs_r )
|
||||
case 0x217c: return 0; //RTC status?
|
||||
}
|
||||
|
||||
// printf("%08x\n",offset*4);
|
||||
// printf("%08x\n",offset*4);
|
||||
|
||||
// return mame_rand(space->machine)&0xffffffff;
|
||||
// return mame_rand(space->machine)&0xffffffff;
|
||||
return hng64_sysregs[offset];
|
||||
}
|
||||
|
||||
@ -598,7 +598,7 @@ static INT32 hng_dma_start,hng_dma_dst,hng_dma_len;
|
||||
|
||||
static void hng64_do_dma(const address_space *space)
|
||||
{
|
||||
// printf("Performing DMA Start %08x Len %08x Dst %08x\n",hng_dma_start, hng_dma_len, hng_dma_dst);
|
||||
// printf("Performing DMA Start %08x Len %08x Dst %08x\n",hng_dma_start, hng_dma_len, hng_dma_dst);
|
||||
|
||||
while (hng_dma_len>=0)
|
||||
{
|
||||
@ -628,8 +628,8 @@ static WRITE32_HANDLER( hng64_sysregs_w )
|
||||
{
|
||||
COMBINE_DATA (&hng64_sysregs[offset]);
|
||||
|
||||
// if(((offset*4) & 0x1200) == 0x1200)
|
||||
// printf("HNG64 writing to SYSTEM Registers 0x%08x == 0x%08x. (PC=%08x)\n", offset*4, hng64_sysregs[offset], cpu_get_pc(space->cpu));
|
||||
// if(((offset*4) & 0x1200) == 0x1200)
|
||||
// printf("HNG64 writing to SYSTEM Registers 0x%08x == 0x%08x. (PC=%08x)\n", offset*4, hng64_sysregs[offset], cpu_get_pc(space->cpu));
|
||||
|
||||
switch(offset*4)
|
||||
{
|
||||
@ -888,7 +888,7 @@ static READ32_HANDLER( dl_r )
|
||||
// Some kind of buffering of the display lists, or 'render current buffer' write?
|
||||
static WRITE32_HANDLER( dl_control_w )
|
||||
{
|
||||
// printf("\n"); // Debug - ajg
|
||||
// printf("\n"); // Debug - ajg
|
||||
// TODO: put this back in.
|
||||
/*
|
||||
if (activeBuffer==0 || activeBuffer==1)
|
||||
@ -899,7 +899,7 @@ static WRITE32_HANDLER( dl_control_w )
|
||||
activeBuffer = 0;
|
||||
if (data & 2)
|
||||
activeBuffer = 1;
|
||||
*/
|
||||
*/
|
||||
}
|
||||
|
||||
#ifdef UNUSED_FUNCTION
|
||||
@ -943,7 +943,7 @@ static WRITE32_HANDLER( tcram_w )
|
||||
|
||||
static READ32_HANDLER( tcram_r )
|
||||
{
|
||||
// printf("Q1 R : %.8x %.8x\n", offset, hng64_tcram[offset]);
|
||||
// printf("Q1 R : %.8x %.8x\n", offset, hng64_tcram[offset]);
|
||||
if(offset == 0x12)
|
||||
return input_port_read(space->machine, "VBLANK");
|
||||
|
||||
|
@ -829,8 +829,8 @@ static READ32_HANDLER( sound020_r )
|
||||
case 0x203960: rv = 0; break;
|
||||
case 0x2039f2: rv = 0x0100ff00; break;
|
||||
//default:
|
||||
// if(cur_pc != 0x20358a && cur_pc != 0x2038aa && cur_pc != 0x2038d4)
|
||||
// printf("Read 68k @ %x (PC=%x)\n", reg, cur_pc);
|
||||
// if(cur_pc != 0x20358a && cur_pc != 0x2038aa && cur_pc != 0x2038d4)
|
||||
// printf("Read 68k @ %x (PC=%x)\n", reg, cur_pc);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
@ -66,9 +66,9 @@ static WRITE8_HANDLER( output_w )
|
||||
|
||||
printf("%02x\n",data);
|
||||
|
||||
/* if((data & 0xc) == 0xc)
|
||||
memory_set_bankptr(space->machine, "bank1", &ROM[0x10000]);
|
||||
else*/
|
||||
/* if((data & 0xc) == 0xc)
|
||||
memory_set_bankptr(space->machine, "bank1", &ROM[0x10000]);
|
||||
else*/
|
||||
if(data & 8)
|
||||
memory_set_bankptr(space->machine, "bank1", &ROM[0x08000]);
|
||||
else
|
||||
|
@ -7,9 +7,9 @@
|
||||
TODO:
|
||||
- is there a third coin input?
|
||||
|
||||
- Is sfj confirmed to have a 68705?, sfua has an i8751 and the actual
|
||||
gamecode is closer to sfua than the other sets. The protection
|
||||
appears to be the same on both.
|
||||
- Is sfj confirmed to have a 68705?, sfua has an i8751 and the actual
|
||||
gamecode is closer to sfua than the other sets. The protection
|
||||
appears to be the same on both.
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
@ -206,7 +206,7 @@ static ADDRESS_MAP_START( sf_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0xc00018, 0xc00019) AM_WRITE(sf_bg_scroll_w)
|
||||
AM_RANGE(0xc0001a, 0xc0001b) AM_WRITE(sf_gfxctrl_w)
|
||||
AM_RANGE(0xc0001c, 0xc0001d) AM_WRITE(soundcmd_w)
|
||||
// AM_RANGE(0xc0001e, 0xc0001f) AM_WRITE(protection_w)
|
||||
// AM_RANGE(0xc0001e, 0xc0001f) AM_WRITE(protection_w)
|
||||
AM_RANGE(0xff8000, 0xffdfff) AM_RAM
|
||||
AM_RANGE(0xffe000, 0xffffff) AM_RAM AM_BASE_MEMBER(sf_state, objectram)
|
||||
ADDRESS_MAP_END
|
||||
@ -228,7 +228,7 @@ static ADDRESS_MAP_START( sfus_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0xc00018, 0xc00019) AM_WRITE(sf_bg_scroll_w)
|
||||
AM_RANGE(0xc0001a, 0xc0001b) AM_WRITE(sf_gfxctrl_w)
|
||||
AM_RANGE(0xc0001c, 0xc0001d) AM_WRITE(soundcmd_w)
|
||||
// AM_RANGE(0xc0001e, 0xc0001f) AM_WRITE(protection_w)
|
||||
// AM_RANGE(0xc0001e, 0xc0001f) AM_WRITE(protection_w)
|
||||
AM_RANGE(0xff8000, 0xffdfff) AM_RAM
|
||||
AM_RANGE(0xffe000, 0xffffff) AM_RAM AM_BASE_MEMBER(sf_state, objectram)
|
||||
ADDRESS_MAP_END
|
||||
@ -1210,10 +1210,10 @@ ROM_START( sfp )
|
||||
ROM_LOAD( "mchr.2h", 0x0e0000, 0x020000, CRC(cc6bf05c) SHA1(4e83dd55c88d5b539ab1dcae5bfd16195bcd2565) )
|
||||
|
||||
/* these graphic roms seem mismatched with this version of the prototype, they don't contain the graphics needed
|
||||
for the bonus round, or have complete tile sets graphic set for 2 of the characters which are used by the prototype
|
||||
(all of Joe is missing, many of Mike's poses are missing) If you use the original ROMs instead the graphics are
|
||||
correct, so the prototype is clearly already referencing the final tile arrangement for them. The glitches
|
||||
therefore are not emulation bugs, if the PCB contained the same mismatched ROMs it would exhibit the same glitches. */
|
||||
for the bonus round, or have complete tile sets graphic set for 2 of the characters which are used by the prototype
|
||||
(all of Joe is missing, many of Mike's poses are missing) If you use the original ROMs instead the graphics are
|
||||
correct, so the prototype is clearly already referencing the final tile arrangement for them. The glitches
|
||||
therefore are not emulation bugs, if the PCB contained the same mismatched ROMs it would exhibit the same glitches. */
|
||||
ROM_REGION( 0x1c0000, "gfx3", ROMREGION_ERASE00 )
|
||||
/* Sprites planes 1-2 */
|
||||
ROM_LOAD( "b1m.bin", 0x000000, 0x010000, CRC(64758232) SHA1(20d21677b791a7f96afed54b286ee92adb80456d) )
|
||||
|
@ -156,8 +156,8 @@ static READ8_HANDLER( sdpoker_rng_r )
|
||||
static WRITE8_HANDLER( wdog8000_w )
|
||||
{
|
||||
/* Kind of state watchdog alternating 0x00 & 0x01 writes.
|
||||
Used when exit the test mode (writes 2 consecutive 0's).
|
||||
Seems to be intended to reset some external device.
|
||||
Used when exit the test mode (writes 2 consecutive 0's).
|
||||
Seems to be intended to reset some external device.
|
||||
|
||||
Watchdog: 01
|
||||
Watchdog: 00
|
||||
@ -186,7 +186,7 @@ static WRITE8_HANDLER( wdog8000_w )
|
||||
}
|
||||
|
||||
wdog = data;
|
||||
// logerror("Watchdog: %02X\n", data);
|
||||
// logerror("Watchdog: %02X\n", data);
|
||||
}
|
||||
|
||||
|
||||
@ -195,7 +195,7 @@ static WRITE8_HANDLER( debug8004_w )
|
||||
/* Writes 0x00 each time the machine is initialized */
|
||||
|
||||
logerror("debug8004: %02X\n", data);
|
||||
// popmessage("written : %02X", data);
|
||||
// popmessage("written : %02X", data);
|
||||
}
|
||||
|
||||
static WRITE8_HANDLER( debug7c00_w )
|
||||
@ -405,12 +405,12 @@ GFXDECODE_END
|
||||
|
||||
static WRITE8_DEVICE_HANDLER( ay8910_outputa_w )
|
||||
{
|
||||
// popmessage("ay8910_outputa_w %02x",data);
|
||||
// popmessage("ay8910_outputa_w %02x",data);
|
||||
}
|
||||
|
||||
static WRITE8_DEVICE_HANDLER( ay8910_outputb_w )
|
||||
{
|
||||
// popmessage("ay8910_outputb_w %02x",data);
|
||||
// popmessage("ay8910_outputb_w %02x",data);
|
||||
}
|
||||
|
||||
|
||||
|
@ -141,7 +141,7 @@ WRITE16_HANDLER( lemmings_pixel_1_w )
|
||||
lemmings_state *state = (lemmings_state *)space->machine->driver_data;
|
||||
int sx, sy, src, /*old,*/ tile;
|
||||
|
||||
// old = state->pixel_1_data[offset];
|
||||
// old = state->pixel_1_data[offset];
|
||||
COMBINE_DATA(&state->pixel_1_data[offset]);
|
||||
src = state->pixel_1_data[offset];
|
||||
// if (old == src)
|
||||
|
@ -424,7 +424,7 @@ void Processor::SetMulInputRGB(UINT8 **input_r, UINT8 **input_g, UINT8 **input_b
|
||||
case 11: *input_r = &m_shade_color.i.a; *input_g = &m_shade_color.i.a; *input_b = &m_shade_color.i.a; break;
|
||||
case 12: *input_r = &m_env_color.i.a; *input_g = &m_env_color.i.a; *input_b = &m_env_color.i.a; break;
|
||||
case 13: *input_r = &m_lod_frac; *input_g = &m_lod_frac; *input_b = &m_lod_frac; break;
|
||||
case 14: *input_r = &m_prim_lod_frac; *input_g = &m_prim_lod_frac; *input_b = &m_prim_lod_frac; break;
|
||||
case 14: *input_r = &m_prim_lod_frac; *input_g = &m_prim_lod_frac; *input_b = &m_prim_lod_frac; break;
|
||||
case 15: *input_r = (UINT8*)&m_k5; *input_g = (UINT8*)&m_k5; *input_b = (UINT8*)&m_k5; break;
|
||||
case 16: case 17: case 18: case 19: case 20: case 21: case 22: case 23:
|
||||
case 24: case 25: case 26: case 27: case 28: case 29: case 30: case 31:
|
||||
@ -1984,10 +1984,10 @@ void N64::RDP::Processor::CmdLoadBlock(UINT32 w1, UINT32 w2)
|
||||
|
||||
switch (m_misc_state.m_ti_size) // slindwords Neededby Vigilante 8
|
||||
{
|
||||
case PIXEL_SIZE_4BIT: ti_width2 >>= 1; slindwords >>= 3; width >>= 1; break;
|
||||
case PIXEL_SIZE_8BIT: slindwords >>= 2; break;
|
||||
case PIXEL_SIZE_4BIT: ti_width2 >>= 1; slindwords >>= 3; width >>= 1; break;
|
||||
case PIXEL_SIZE_8BIT: slindwords >>= 2; break;
|
||||
case PIXEL_SIZE_16BIT: ti_width2 <<= 1; slindwords >>= 1; width <<= 1; break;
|
||||
case PIXEL_SIZE_32BIT: ti_width2 <<= 2; width <<= 2; break;
|
||||
case PIXEL_SIZE_32BIT: ti_width2 <<= 2; width <<= 2; break;
|
||||
}
|
||||
|
||||
if ((tb + (width >> 2)) > 0x400)
|
||||
|
@ -347,12 +347,12 @@ class Processor
|
||||
|
||||
~Processor() { }
|
||||
|
||||
void Dasm(char *buffer);
|
||||
void Dasm(char *buffer);
|
||||
|
||||
void ProcessList();
|
||||
UINT32 ReadData(UINT32 address);
|
||||
void ProcessList();
|
||||
UINT32 ReadData(UINT32 address);
|
||||
|
||||
void InitInternalState()
|
||||
void InitInternalState()
|
||||
{
|
||||
if(m_machine)
|
||||
{
|
||||
@ -449,12 +449,12 @@ class Processor
|
||||
void SetPrimLODFrac(UINT8 prim_lod_frac) { m_prim_lod_frac = prim_lod_frac; }
|
||||
|
||||
// Color Combiner
|
||||
void SetSubAInputRGB(UINT8 **input_r, UINT8 **input_g, UINT8 **input_b, int code);
|
||||
void SetSubBInputRGB(UINT8 **input_r, UINT8 **input_g, UINT8 **input_b, int code);
|
||||
void SetMulInputRGB(UINT8 **input_r, UINT8 **input_g, UINT8 **input_b, int code);
|
||||
void SetAddInputRGB(UINT8 **input_r, UINT8 **input_g, UINT8 **input_b, int code);
|
||||
void SetSubInputAlpha(UINT8 **input, int code);
|
||||
void SetMulInputAlpha(UINT8 **input, int code);
|
||||
void SetSubAInputRGB(UINT8 **input_r, UINT8 **input_g, UINT8 **input_b, int code);
|
||||
void SetSubBInputRGB(UINT8 **input_r, UINT8 **input_g, UINT8 **input_b, int code);
|
||||
void SetMulInputRGB(UINT8 **input_r, UINT8 **input_g, UINT8 **input_b, int code);
|
||||
void SetAddInputRGB(UINT8 **input_r, UINT8 **input_g, UINT8 **input_b, int code);
|
||||
void SetSubInputAlpha(UINT8 **input, int code);
|
||||
void SetMulInputAlpha(UINT8 **input, int code);
|
||||
|
||||
// Texture memory
|
||||
UINT8* GetTMEM() { return m_tmem; }
|
||||
@ -480,13 +480,13 @@ class Processor
|
||||
INT32* GetK5() { return &m_k5; }
|
||||
|
||||
// Blender-related (move into RDP::Blender)
|
||||
void SetBlenderInput(int cycle, int which, UINT8 **input_r, UINT8 **input_g, UINT8 **input_b, UINT8 **input_a, int a, int b);
|
||||
void SetBlenderInput(int cycle, int which, UINT8 **input_r, UINT8 **input_g, UINT8 **input_b, UINT8 **input_a, int a, int b);
|
||||
|
||||
// Render-related (move into eventual drawing-related classes?)
|
||||
Rectangle* GetScissor() { return &m_scissor; }
|
||||
void TCDiv(INT32 ss, INT32 st, INT32 sw, INT32* sss, INT32* sst);
|
||||
void TCDiv(INT32 ss, INT32 st, INT32 sw, INT32* sss, INT32* sst);
|
||||
UINT32 GetLog2(UINT32 lod_clamp);
|
||||
void RenderSpans(int start, int end, int tilenum, bool shade, bool texture, bool zbuffer, bool flip);
|
||||
void RenderSpans(int start, int end, int tilenum, bool shade, bool texture, bool zbuffer, bool flip);
|
||||
UINT8* GetHiddenBits() { return m_hidden_bits; }
|
||||
void GetAlphaCvg(UINT8 *comb_alpha);
|
||||
const UINT8* GetBayerMatrix() const { return s_bayer_matrix; }
|
||||
@ -496,16 +496,16 @@ class Processor
|
||||
UINT32 GetFillColor32() const { return m_fill_color; }
|
||||
|
||||
void ZStore(UINT16* zb, UINT8* zhb, UINT32 z, UINT32 deltaz);
|
||||
UINT32 DecompressZ(UINT16 *zb);
|
||||
UINT16 DecompressDZ(UINT16* zb, UINT8* zhb);
|
||||
INT32 NormalizeDZPix(INT32 sum);
|
||||
UINT32 DecompressZ(UINT16 *zb);
|
||||
UINT16 DecompressDZ(UINT16* zb, UINT8* zhb);
|
||||
INT32 NormalizeDZPix(INT32 sum);
|
||||
bool ZCompare(void* fb, UINT8* hb, UINT16* zb, UINT8* zhb, UINT32 sz, UINT16 dzpix);
|
||||
|
||||
// Fullscreen update-related
|
||||
void VideoUpdate(bitmap_t *bitmap);
|
||||
|
||||
// Commands
|
||||
void CmdInvalid(UINT32 w1, UINT32 w2);
|
||||
void CmdInvalid(UINT32 w1, UINT32 w2);
|
||||
void CmdNoOp(UINT32 w1, UINT32 w2);
|
||||
void CmdTriangle(UINT32 w1, UINT32 w2);
|
||||
void CmdTriangleZ(UINT32 w1, UINT32 w2);
|
||||
@ -515,37 +515,37 @@ class Processor
|
||||
void CmdTriangleSZ(UINT32 w1, UINT32 w2);
|
||||
void CmdTriangleST(UINT32 w1, UINT32 w2);
|
||||
void CmdTriangleSTZ(UINT32 w1, UINT32 w2);
|
||||
void CmdTexRect(UINT32 w1, UINT32 w2);
|
||||
void CmdTexRectFlip(UINT32 w1, UINT32 w2);
|
||||
void CmdSyncLoad(UINT32 w1, UINT32 w2);
|
||||
void CmdSyncPipe(UINT32 w1, UINT32 w2);
|
||||
void CmdSyncTile(UINT32 w1, UINT32 w2);
|
||||
void CmdSyncFull(UINT32 w1, UINT32 w2);
|
||||
void CmdSetKeyGB(UINT32 w1, UINT32 w2);
|
||||
void CmdSetKeyR(UINT32 w1, UINT32 w2);
|
||||
void CmdSetFillColor32(UINT32 w1, UINT32 w2);
|
||||
void CmdSetConvert(UINT32 w1, UINT32 w2);
|
||||
void CmdSetScissor(UINT32 w1, UINT32 w2);
|
||||
void CmdSetPrimDepth(UINT32 w1, UINT32 w2);
|
||||
void CmdSetOtherModes(UINT32 w1, UINT32 w2);
|
||||
void CmdTexRect(UINT32 w1, UINT32 w2);
|
||||
void CmdTexRectFlip(UINT32 w1, UINT32 w2);
|
||||
void CmdSyncLoad(UINT32 w1, UINT32 w2);
|
||||
void CmdSyncPipe(UINT32 w1, UINT32 w2);
|
||||
void CmdSyncTile(UINT32 w1, UINT32 w2);
|
||||
void CmdSyncFull(UINT32 w1, UINT32 w2);
|
||||
void CmdSetKeyGB(UINT32 w1, UINT32 w2);
|
||||
void CmdSetKeyR(UINT32 w1, UINT32 w2);
|
||||
void CmdSetFillColor32(UINT32 w1, UINT32 w2);
|
||||
void CmdSetConvert(UINT32 w1, UINT32 w2);
|
||||
void CmdSetScissor(UINT32 w1, UINT32 w2);
|
||||
void CmdSetPrimDepth(UINT32 w1, UINT32 w2);
|
||||
void CmdSetOtherModes(UINT32 w1, UINT32 w2);
|
||||
void CmdLoadTLUT(UINT32 w1, UINT32 w2);
|
||||
void CmdSetTileSize(UINT32 w1, UINT32 w2);
|
||||
void CmdLoadBlock(UINT32 w1, UINT32 w2);
|
||||
void CmdLoadTile(UINT32 w1, UINT32 w2);
|
||||
void CmdLoadBlock(UINT32 w1, UINT32 w2);
|
||||
void CmdLoadTile(UINT32 w1, UINT32 w2);
|
||||
void CmdFillRect(UINT32 w1, UINT32 w2);
|
||||
void CmdSetTile(UINT32 w1, UINT32 w2);
|
||||
void CmdSetFogColor(UINT32 w1, UINT32 w2);
|
||||
void CmdSetBlendColor(UINT32 w1, UINT32 w2);
|
||||
void CmdSetPrimColor(UINT32 w1, UINT32 w2);
|
||||
void CmdSetEnvColor(UINT32 w1, UINT32 w2);
|
||||
void CmdSetCombine(UINT32 w1, UINT32 w2);
|
||||
void CmdSetTextureImage(UINT32 w1, UINT32 w2);
|
||||
void CmdSetMaskImage(UINT32 w1, UINT32 w2);
|
||||
void CmdSetColorImage(UINT32 w1, UINT32 w2);
|
||||
void CmdSetTile(UINT32 w1, UINT32 w2);
|
||||
void CmdSetFogColor(UINT32 w1, UINT32 w2);
|
||||
void CmdSetBlendColor(UINT32 w1, UINT32 w2);
|
||||
void CmdSetPrimColor(UINT32 w1, UINT32 w2);
|
||||
void CmdSetEnvColor(UINT32 w1, UINT32 w2);
|
||||
void CmdSetCombine(UINT32 w1, UINT32 w2);
|
||||
void CmdSetTextureImage(UINT32 w1, UINT32 w2);
|
||||
void CmdSetMaskImage(UINT32 w1, UINT32 w2);
|
||||
void CmdSetColorImage(UINT32 w1, UINT32 w2);
|
||||
|
||||
void Triangle(bool shade, bool texture, bool zbuffer);
|
||||
UINT32 AddRightCvg(UINT32 x, UINT32 k);
|
||||
UINT32 AddLeftCvg(UINT32 x, UINT32 k);
|
||||
UINT32 AddRightCvg(UINT32 x, UINT32 k);
|
||||
UINT32 AddLeftCvg(UINT32 x, UINT32 k);
|
||||
|
||||
UINT32* GetCommandData() { return m_cmd_data; }
|
||||
|
||||
@ -554,15 +554,15 @@ class Processor
|
||||
Framebuffer m_framebuffer;
|
||||
TexturePipe m_tex_pipe;
|
||||
|
||||
OtherModes m_other_modes;
|
||||
OtherModes m_other_modes;
|
||||
MiscState m_misc_state;
|
||||
ColorInputs m_color_inputs;
|
||||
CombineModes m_combine;
|
||||
|
||||
Color m_pixel_color;
|
||||
Color m_inv_pixel_color;
|
||||
Color m_blended_pixel_color;
|
||||
Color m_memory_color;
|
||||
Color m_pixel_color;
|
||||
Color m_inv_pixel_color;
|
||||
Color m_blended_pixel_color;
|
||||
Color m_memory_color;
|
||||
Color m_blend_color;
|
||||
|
||||
Color m_prim_color;
|
||||
@ -577,14 +577,14 @@ class Processor
|
||||
UINT8 m_lod_frac;
|
||||
UINT8 m_prim_lod_frac;
|
||||
|
||||
Color m_one_color;
|
||||
Color m_zero_color;
|
||||
Color m_one_color;
|
||||
Color m_zero_color;
|
||||
|
||||
UINT32 m_fill_color;
|
||||
|
||||
UINT16 m_cc_lut1[(1<<24)];
|
||||
UINT8 m_cc_lut2[(1<<24)];
|
||||
UINT32 m_rgb16_to_rgb32_lut[(1 << 16)];
|
||||
UINT16 m_cc_lut1[(1<<24)];
|
||||
UINT8 m_cc_lut2[(1<<24)];
|
||||
UINT32 m_rgb16_to_rgb32_lut[(1 << 16)];
|
||||
UINT32 m_ia8_to_rgb32_lut[(1 << 16)];
|
||||
|
||||
UINT32 m_cmd_data[0x1000];
|
||||
|
@ -32,20 +32,20 @@ class Blender
|
||||
MiscState* m_misc_state;
|
||||
Processor* m_rdp;
|
||||
|
||||
bool Blend16Bit(UINT16* fb, UINT8* hb, RDP::Color c1, RDP::Color c2, int dith);
|
||||
bool Blend16Bit1Cycle(UINT16* fb, UINT8* hb, RDP::Color c, int dith);
|
||||
bool Blend16Bit2Cycle(UINT16* fb, UINT8* hb, RDP::Color c1, RDP::Color c2, int dith);
|
||||
bool Blend32Bit(UINT32* fb, RDP::Color c1, RDP::Color c2);
|
||||
bool Blend32Bit1Cycle(UINT32* fb, RDP::Color c);
|
||||
bool Blend32Bit2Cycle(UINT32* fb, RDP::Color c1, RDP::Color c2);
|
||||
bool Blend16Bit(UINT16* fb, UINT8* hb, RDP::Color c1, RDP::Color c2, int dith);
|
||||
bool Blend16Bit1Cycle(UINT16* fb, UINT8* hb, RDP::Color c, int dith);
|
||||
bool Blend16Bit2Cycle(UINT16* fb, UINT8* hb, RDP::Color c1, RDP::Color c2, int dith);
|
||||
bool Blend32Bit(UINT32* fb, RDP::Color c1, RDP::Color c2);
|
||||
bool Blend32Bit1Cycle(UINT32* fb, RDP::Color c);
|
||||
bool Blend32Bit2Cycle(UINT32* fb, RDP::Color c1, RDP::Color c2);
|
||||
bool AlphaCompare(UINT8 alpha);
|
||||
|
||||
void BlendEquation0Force(INT32* r, INT32* g, INT32* b, int bsel_special);
|
||||
void BlendEquation0NoForce(INT32* r, INT32* g, INT32* b, int bsel_special);
|
||||
void BlendEquation1Force(INT32* r, INT32* g, INT32* b, int bsel_special);
|
||||
void BlendEquation1NoForce(INT32* r, INT32* g, INT32* b, int bsel_special);
|
||||
void BlendEquation0Force(INT32* r, INT32* g, INT32* b, int bsel_special);
|
||||
void BlendEquation0NoForce(INT32* r, INT32* g, INT32* b, int bsel_special);
|
||||
void BlendEquation1Force(INT32* r, INT32* g, INT32* b, int bsel_special);
|
||||
void BlendEquation1NoForce(INT32* r, INT32* g, INT32* b, int bsel_special);
|
||||
|
||||
void DitherRGB(INT32* r, INT32* g, INT32* b, int dith);
|
||||
void DitherRGB(INT32* r, INT32* g, INT32* b, int dith);
|
||||
};
|
||||
|
||||
} // namespace RDP
|
||||
|
@ -36,9 +36,9 @@ class Rectangle
|
||||
UINT16 m_yh; // 10.2 fixed-point
|
||||
|
||||
private:
|
||||
void Draw1Cycle();
|
||||
void Draw2Cycle();
|
||||
void DrawFill();
|
||||
void Draw1Cycle();
|
||||
void Draw2Cycle();
|
||||
void DrawFill();
|
||||
|
||||
running_machine* m_machine;
|
||||
Processor* m_rdp;
|
||||
|
@ -8,7 +8,7 @@ namespace N64
|
||||
namespace RDP
|
||||
{
|
||||
|
||||
#define RELATIVE(x, y) ((((x) >> 3) - (y)) << 3) | (x & 7);
|
||||
#define RELATIVE(x, y) ((((x) >> 3) - (y)) << 3) | (x & 7);
|
||||
|
||||
void TexturePipe::SetMachine(running_machine *machine)
|
||||
{
|
||||
|
@ -28,24 +28,24 @@ class TexturePipe
|
||||
}
|
||||
|
||||
UINT32 Fetch(INT32 SSS, INT32 SST, Tile* tile);
|
||||
void CalculateClampDiffs(UINT32 prim_tile);
|
||||
void CalculateClampDiffs(UINT32 prim_tile);
|
||||
|
||||
void SetMachine(running_machine* machine);
|
||||
|
||||
private:
|
||||
void Mask(INT32* S, INT32* T, Tile* tile);
|
||||
void TexShift(INT32* S, INT32* T, bool* maxs, bool* maxt, Tile *tile);
|
||||
void Clamp(INT32* S, INT32* T, INT32* SFRAC, INT32* TFRAC, bool maxs, bool maxt, Tile* tile);
|
||||
void ClampLight(INT32* S, INT32* T, bool maxs, bool maxt, Tile* tile);
|
||||
void Mask(INT32* S, INT32* T, Tile* tile);
|
||||
void TexShift(INT32* S, INT32* T, bool* maxs, bool* maxt, Tile *tile);
|
||||
void Clamp(INT32* S, INT32* T, INT32* SFRAC, INT32* TFRAC, bool maxs, bool maxt, Tile* tile);
|
||||
void ClampLight(INT32* S, INT32* T, bool maxs, bool maxt, Tile* tile);
|
||||
|
||||
running_machine* m_machine;
|
||||
OtherModes* m_other_modes;
|
||||
Processor* m_rdp;
|
||||
TexFetch m_tex_fetch;
|
||||
|
||||
INT32 m_maskbits_table[16];
|
||||
INT32 m_clamp_t_diff[8];
|
||||
INT32 m_clamp_s_diff[8];
|
||||
INT32 m_maskbits_table[16];
|
||||
INT32 m_clamp_t_diff[8];
|
||||
INT32 m_clamp_s_diff[8];
|
||||
};
|
||||
|
||||
} // namespace RDP
|
||||
|
@ -41,8 +41,8 @@ class TexRectangle
|
||||
int m_flip;
|
||||
|
||||
private:
|
||||
void DrawDefault();
|
||||
void DrawCopy();
|
||||
void DrawDefault();
|
||||
void DrawCopy();
|
||||
|
||||
running_machine* m_machine;
|
||||
Processor* m_rdp;
|
||||
|
@ -10,4 +10,4 @@
|
||||
***************************************************************************/
|
||||
|
||||
extern const char build_version[];
|
||||
const char build_version[] = "0.137u1 ("__DATE__")";
|
||||
const char build_version[] = "0.137u2 ("__DATE__")";
|
||||
|
Loading…
Reference in New Issue
Block a user