mirror of
https://github.com/holub/mame
synced 2025-07-05 09:57:47 +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];
|
dw2 &= pkmask2[17];
|
||||||
dw3 &= pkmask3[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)
|
case 2: // (d16, PC)
|
||||||
{
|
{
|
||||||
UINT32 ea = EA_PCDI_32(m68k);
|
UINT32 ea = EA_PCDI_32(m68k);
|
||||||
fpr = load_extended_float80(m68k, ea);
|
fpr = load_extended_float80(m68k, ea);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -118,7 +118,7 @@ READ8_HANDLER( wow_speech_r )
|
|||||||
totalword_ptr = totalword;
|
totalword_ptr = totalword;
|
||||||
|
|
||||||
Phoneme = data & 0x3F;
|
Phoneme = data & 0x3F;
|
||||||
// Intonation = data >> 6;
|
// Intonation = data >> 6;
|
||||||
|
|
||||||
// logerror("Data : %d Speech : %s at intonation %d\n",Phoneme, PhonemeTable[Phoneme],Intonation);
|
// 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"
|
#include "includes/naomibd.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
St. Instr. Comment
|
St. Instr. Comment
|
||||||
0x02 PEEK ACC := MEM[OP1]
|
0x02 PEEK ACC := MEM[OP1]
|
||||||
0x03 POKE MEM[OP1] := OP2
|
0x03 POKE MEM[OP1] := OP2
|
||||||
0x04 POKEPCI PCICONF[OP1] := OP2
|
0x04 POKEPCI PCICONF[OP1] := OP2
|
||||||
0x05 PEEKPCI ACC := PCICONF[OP1]
|
0x05 PEEKPCI ACC := PCICONF[OP1]
|
||||||
0x06 AND/OR ACC := (ACC & OP1) | OP2
|
0x06 AND/OR ACC := (ACC & OP1) | OP2
|
||||||
0x07 (prefix) execute the instruction code in OP1 with OP1 := OP2, OP2 := ACC
|
0x07 (prefix) execute the instruction code in OP1 with OP1 := OP2, OP2 := ACC
|
||||||
0x08 BNE IF ACC = OP1 THEN PC := PC + OP2
|
0x08 BNE IF ACC = OP1 THEN PC := PC + OP2
|
||||||
0x09 BRA PC := PC + OP2
|
0x09 BRA PC := PC + OP2
|
||||||
0x10 AND/OR ACC2 (unused/defunct) ACC2 := (ACC2 & OP1) | OP2
|
0x10 AND/OR ACC2 (unused/defunct) ACC2 := (ACC2 & OP1) | OP2
|
||||||
0x11 OUTB PORT[OP1] := OP2
|
0x11 OUTB PORT[OP1] := OP2
|
||||||
0x12 INB ACC := PORT(OP1)
|
0x12 INB ACC := PORT(OP1)
|
||||||
0xEE END
|
0xEE END
|
||||||
*/
|
*/
|
||||||
static READ32_HANDLER( chihiro_jamtable )
|
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).
|
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 :
|
- There is an unused coinage routine at 0x0159 with the following settings :
|
||||||
|
|
||||||
PORT_DIPNAME( 0x06, 0x00, DEF_STR( Coinage ) )
|
PORT_DIPNAME( 0x06, 0x00, DEF_STR( Coinage ) )
|
||||||
PORT_DIPSETTING( 0x00, "A 2/1 B 99" )
|
PORT_DIPSETTING( 0x00, "A 2/1 B 99" )
|
||||||
PORT_DIPSETTING( 0x06, "A 1/2 B 1/1" )
|
PORT_DIPSETTING( 0x06, "A 1/2 B 1/1" )
|
||||||
PORT_DIPSETTING( 0x04, "A 1/5 B 1/1" )
|
PORT_DIPSETTING( 0x04, "A 1/5 B 1/1" )
|
||||||
PORT_DIPSETTING( 0x02, "A 1/7 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.
|
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).
|
- 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_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
|
||||||
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
|
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
|
||||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||||
// PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY 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( 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( 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( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL
|
||||||
// PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
|
// PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL
|
||||||
PORT_BIT( 0x7c, IP_ACTIVE_LOW, IPT_UNUSED ) /* see notes */
|
PORT_BIT( 0x7c, IP_ACTIVE_LOW, IPT_UNUSED ) /* see notes */
|
||||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
|
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( 0x00, "A 1/2 B 2/1" )
|
||||||
PORT_DIPSETTING( 0x04, "A 1/3 B 3/1" )
|
PORT_DIPSETTING( 0x04, "A 1/3 B 3/1" )
|
||||||
PORT_DIPSETTING( 0x06, "A 1/4 B 4/1" )
|
PORT_DIPSETTING( 0x06, "A 1/4 B 4/1" )
|
||||||
// PORT_DIPNAME( 0x08, 0x08, DEF_STR( Cabinet ) )
|
// PORT_DIPNAME( 0x08, 0x08, DEF_STR( Cabinet ) )
|
||||||
// PORT_DIPSETTING( 0x08, DEF_STR( Upright ) )
|
// PORT_DIPSETTING( 0x08, DEF_STR( Upright ) )
|
||||||
// PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
|
// PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
|
||||||
PORT_DIPUNUSED( 0x08, IP_ACTIVE_LOW ) /* see notes */
|
PORT_DIPUNUSED( 0x08, IP_ACTIVE_LOW ) /* see notes */
|
||||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
|
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
|
||||||
PORT_BIT( 0xb0, IP_ACTIVE_LOW, IPT_UNUSED )
|
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( 0x00, "A 1/2 B 2/1" )
|
||||||
PORT_DIPSETTING( 0x04, "A 1/3 B 3/1" )
|
PORT_DIPSETTING( 0x04, "A 1/3 B 3/1" )
|
||||||
PORT_DIPSETTING( 0x06, "A 1/4 B 4/1" )
|
PORT_DIPSETTING( 0x06, "A 1/4 B 4/1" )
|
||||||
// PORT_DIPNAME( 0x08, 0x08, DEF_STR( Cabinet ) )
|
// PORT_DIPNAME( 0x08, 0x08, DEF_STR( Cabinet ) )
|
||||||
// PORT_DIPSETTING( 0x08, DEF_STR( Upright ) )
|
// PORT_DIPSETTING( 0x08, DEF_STR( Upright ) )
|
||||||
// PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
|
// PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
|
||||||
PORT_DIPUNUSED( 0x08, IP_ACTIVE_LOW ) /* see notes */
|
PORT_DIPUNUSED( 0x08, IP_ACTIVE_LOW ) /* see notes */
|
||||||
PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
|
PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||||
|
|
||||||
|
@ -555,8 +555,8 @@ static READ32_HANDLER( hng64_sysregs_r )
|
|||||||
mame_system_time systime;
|
mame_system_time systime;
|
||||||
mame_get_base_datetime(space->machine, &systime);
|
mame_get_base_datetime(space->machine, &systime);
|
||||||
|
|
||||||
// if((offset*4) != 0x1084)
|
// if((offset*4) != 0x1084)
|
||||||
// printf("HNG64 port read (PC=%08x) 0x%08x\n", cpu_get_pc(space->cpu),offset*4);
|
// printf("HNG64 port read (PC=%08x) 0x%08x\n", cpu_get_pc(space->cpu),offset*4);
|
||||||
|
|
||||||
switch(offset*4)
|
switch(offset*4)
|
||||||
{
|
{
|
||||||
@ -587,9 +587,9 @@ static READ32_HANDLER( hng64_sysregs_r )
|
|||||||
case 0x217c: return 0; //RTC status?
|
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];
|
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)
|
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)
|
while (hng_dma_len>=0)
|
||||||
{
|
{
|
||||||
@ -628,8 +628,8 @@ static WRITE32_HANDLER( hng64_sysregs_w )
|
|||||||
{
|
{
|
||||||
COMBINE_DATA (&hng64_sysregs[offset]);
|
COMBINE_DATA (&hng64_sysregs[offset]);
|
||||||
|
|
||||||
// if(((offset*4) & 0x1200) == 0x1200)
|
// 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));
|
// 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)
|
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?
|
// Some kind of buffering of the display lists, or 'render current buffer' write?
|
||||||
static WRITE32_HANDLER( dl_control_w )
|
static WRITE32_HANDLER( dl_control_w )
|
||||||
{
|
{
|
||||||
// printf("\n"); // Debug - ajg
|
// printf("\n"); // Debug - ajg
|
||||||
// TODO: put this back in.
|
// TODO: put this back in.
|
||||||
/*
|
/*
|
||||||
if (activeBuffer==0 || activeBuffer==1)
|
if (activeBuffer==0 || activeBuffer==1)
|
||||||
@ -899,7 +899,7 @@ static WRITE32_HANDLER( dl_control_w )
|
|||||||
activeBuffer = 0;
|
activeBuffer = 0;
|
||||||
if (data & 2)
|
if (data & 2)
|
||||||
activeBuffer = 1;
|
activeBuffer = 1;
|
||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef UNUSED_FUNCTION
|
#ifdef UNUSED_FUNCTION
|
||||||
@ -943,7 +943,7 @@ static WRITE32_HANDLER( tcram_w )
|
|||||||
|
|
||||||
static READ32_HANDLER( tcram_r )
|
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)
|
if(offset == 0x12)
|
||||||
return input_port_read(space->machine, "VBLANK");
|
return input_port_read(space->machine, "VBLANK");
|
||||||
|
|
||||||
|
@ -829,8 +829,8 @@ static READ32_HANDLER( sound020_r )
|
|||||||
case 0x203960: rv = 0; break;
|
case 0x203960: rv = 0; break;
|
||||||
case 0x2039f2: rv = 0x0100ff00; break;
|
case 0x2039f2: rv = 0x0100ff00; break;
|
||||||
//default:
|
//default:
|
||||||
// if(cur_pc != 0x20358a && cur_pc != 0x2038aa && cur_pc != 0x2038d4)
|
// if(cur_pc != 0x20358a && cur_pc != 0x2038aa && cur_pc != 0x2038d4)
|
||||||
// printf("Read 68k @ %x (PC=%x)\n", reg, cur_pc);
|
// printf("Read 68k @ %x (PC=%x)\n", reg, cur_pc);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -66,9 +66,9 @@ static WRITE8_HANDLER( output_w )
|
|||||||
|
|
||||||
printf("%02x\n",data);
|
printf("%02x\n",data);
|
||||||
|
|
||||||
/* if((data & 0xc) == 0xc)
|
/* if((data & 0xc) == 0xc)
|
||||||
memory_set_bankptr(space->machine, "bank1", &ROM[0x10000]);
|
memory_set_bankptr(space->machine, "bank1", &ROM[0x10000]);
|
||||||
else*/
|
else*/
|
||||||
if(data & 8)
|
if(data & 8)
|
||||||
memory_set_bankptr(space->machine, "bank1", &ROM[0x08000]);
|
memory_set_bankptr(space->machine, "bank1", &ROM[0x08000]);
|
||||||
else
|
else
|
||||||
|
@ -7,9 +7,9 @@
|
|||||||
TODO:
|
TODO:
|
||||||
- is there a third coin input?
|
- is there a third coin input?
|
||||||
|
|
||||||
- Is sfj confirmed to have a 68705?, sfua has an i8751 and the actual
|
- 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
|
gamecode is closer to sfua than the other sets. The protection
|
||||||
appears to be the same on both.
|
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(0xc00018, 0xc00019) AM_WRITE(sf_bg_scroll_w)
|
||||||
AM_RANGE(0xc0001a, 0xc0001b) AM_WRITE(sf_gfxctrl_w)
|
AM_RANGE(0xc0001a, 0xc0001b) AM_WRITE(sf_gfxctrl_w)
|
||||||
AM_RANGE(0xc0001c, 0xc0001d) AM_WRITE(soundcmd_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(0xff8000, 0xffdfff) AM_RAM
|
||||||
AM_RANGE(0xffe000, 0xffffff) AM_RAM AM_BASE_MEMBER(sf_state, objectram)
|
AM_RANGE(0xffe000, 0xffffff) AM_RAM AM_BASE_MEMBER(sf_state, objectram)
|
||||||
ADDRESS_MAP_END
|
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(0xc00018, 0xc00019) AM_WRITE(sf_bg_scroll_w)
|
||||||
AM_RANGE(0xc0001a, 0xc0001b) AM_WRITE(sf_gfxctrl_w)
|
AM_RANGE(0xc0001a, 0xc0001b) AM_WRITE(sf_gfxctrl_w)
|
||||||
AM_RANGE(0xc0001c, 0xc0001d) AM_WRITE(soundcmd_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(0xff8000, 0xffdfff) AM_RAM
|
||||||
AM_RANGE(0xffe000, 0xffffff) AM_RAM AM_BASE_MEMBER(sf_state, objectram)
|
AM_RANGE(0xffe000, 0xffffff) AM_RAM AM_BASE_MEMBER(sf_state, objectram)
|
||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
@ -1210,10 +1210,10 @@ ROM_START( sfp )
|
|||||||
ROM_LOAD( "mchr.2h", 0x0e0000, 0x020000, CRC(cc6bf05c) SHA1(4e83dd55c88d5b539ab1dcae5bfd16195bcd2565) )
|
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
|
/* 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
|
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
|
(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
|
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. */
|
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 )
|
ROM_REGION( 0x1c0000, "gfx3", ROMREGION_ERASE00 )
|
||||||
/* Sprites planes 1-2 */
|
/* Sprites planes 1-2 */
|
||||||
ROM_LOAD( "b1m.bin", 0x000000, 0x010000, CRC(64758232) SHA1(20d21677b791a7f96afed54b286ee92adb80456d) )
|
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 )
|
static WRITE8_HANDLER( wdog8000_w )
|
||||||
{
|
{
|
||||||
/* Kind of state watchdog alternating 0x00 & 0x01 writes.
|
/* Kind of state watchdog alternating 0x00 & 0x01 writes.
|
||||||
Used when exit the test mode (writes 2 consecutive 0's).
|
Used when exit the test mode (writes 2 consecutive 0's).
|
||||||
Seems to be intended to reset some external device.
|
Seems to be intended to reset some external device.
|
||||||
|
|
||||||
Watchdog: 01
|
Watchdog: 01
|
||||||
Watchdog: 00
|
Watchdog: 00
|
||||||
@ -186,7 +186,7 @@ static WRITE8_HANDLER( wdog8000_w )
|
|||||||
}
|
}
|
||||||
|
|
||||||
wdog = data;
|
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 */
|
/* Writes 0x00 each time the machine is initialized */
|
||||||
|
|
||||||
logerror("debug8004: %02X\n", data);
|
logerror("debug8004: %02X\n", data);
|
||||||
// popmessage("written : %02X", data);
|
// popmessage("written : %02X", data);
|
||||||
}
|
}
|
||||||
|
|
||||||
static WRITE8_HANDLER( debug7c00_w )
|
static WRITE8_HANDLER( debug7c00_w )
|
||||||
@ -405,12 +405,12 @@ GFXDECODE_END
|
|||||||
|
|
||||||
static WRITE8_DEVICE_HANDLER( ay8910_outputa_w )
|
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 )
|
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;
|
lemmings_state *state = (lemmings_state *)space->machine->driver_data;
|
||||||
int sx, sy, src, /*old,*/ tile;
|
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]);
|
COMBINE_DATA(&state->pixel_1_data[offset]);
|
||||||
src = state->pixel_1_data[offset];
|
src = state->pixel_1_data[offset];
|
||||||
// if (old == src)
|
// 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 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 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 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 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 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:
|
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
|
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_4BIT: ti_width2 >>= 1; slindwords >>= 3; width >>= 1; break;
|
||||||
case PIXEL_SIZE_8BIT: slindwords >>= 2; break;
|
case PIXEL_SIZE_8BIT: slindwords >>= 2; break;
|
||||||
case PIXEL_SIZE_16BIT: ti_width2 <<= 1; slindwords >>= 1; width <<= 1; 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)
|
if ((tb + (width >> 2)) > 0x400)
|
||||||
|
@ -347,12 +347,12 @@ class Processor
|
|||||||
|
|
||||||
~Processor() { }
|
~Processor() { }
|
||||||
|
|
||||||
void Dasm(char *buffer);
|
void Dasm(char *buffer);
|
||||||
|
|
||||||
void ProcessList();
|
void ProcessList();
|
||||||
UINT32 ReadData(UINT32 address);
|
UINT32 ReadData(UINT32 address);
|
||||||
|
|
||||||
void InitInternalState()
|
void InitInternalState()
|
||||||
{
|
{
|
||||||
if(m_machine)
|
if(m_machine)
|
||||||
{
|
{
|
||||||
@ -449,12 +449,12 @@ class Processor
|
|||||||
void SetPrimLODFrac(UINT8 prim_lod_frac) { m_prim_lod_frac = prim_lod_frac; }
|
void SetPrimLODFrac(UINT8 prim_lod_frac) { m_prim_lod_frac = prim_lod_frac; }
|
||||||
|
|
||||||
// Color Combiner
|
// Color Combiner
|
||||||
void SetSubAInputRGB(UINT8 **input_r, UINT8 **input_g, UINT8 **input_b, 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 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 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 SetAddInputRGB(UINT8 **input_r, UINT8 **input_g, UINT8 **input_b, int code);
|
||||||
void SetSubInputAlpha(UINT8 **input, int code);
|
void SetSubInputAlpha(UINT8 **input, int code);
|
||||||
void SetMulInputAlpha(UINT8 **input, int code);
|
void SetMulInputAlpha(UINT8 **input, int code);
|
||||||
|
|
||||||
// Texture memory
|
// Texture memory
|
||||||
UINT8* GetTMEM() { return m_tmem; }
|
UINT8* GetTMEM() { return m_tmem; }
|
||||||
@ -480,13 +480,13 @@ class Processor
|
|||||||
INT32* GetK5() { return &m_k5; }
|
INT32* GetK5() { return &m_k5; }
|
||||||
|
|
||||||
// Blender-related (move into RDP::Blender)
|
// 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?)
|
// Render-related (move into eventual drawing-related classes?)
|
||||||
Rectangle* GetScissor() { return &m_scissor; }
|
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);
|
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; }
|
UINT8* GetHiddenBits() { return m_hidden_bits; }
|
||||||
void GetAlphaCvg(UINT8 *comb_alpha);
|
void GetAlphaCvg(UINT8 *comb_alpha);
|
||||||
const UINT8* GetBayerMatrix() const { return s_bayer_matrix; }
|
const UINT8* GetBayerMatrix() const { return s_bayer_matrix; }
|
||||||
@ -496,16 +496,16 @@ class Processor
|
|||||||
UINT32 GetFillColor32() const { return m_fill_color; }
|
UINT32 GetFillColor32() const { return m_fill_color; }
|
||||||
|
|
||||||
void ZStore(UINT16* zb, UINT8* zhb, UINT32 z, UINT32 deltaz);
|
void ZStore(UINT16* zb, UINT8* zhb, UINT32 z, UINT32 deltaz);
|
||||||
UINT32 DecompressZ(UINT16 *zb);
|
UINT32 DecompressZ(UINT16 *zb);
|
||||||
UINT16 DecompressDZ(UINT16* zb, UINT8* zhb);
|
UINT16 DecompressDZ(UINT16* zb, UINT8* zhb);
|
||||||
INT32 NormalizeDZPix(INT32 sum);
|
INT32 NormalizeDZPix(INT32 sum);
|
||||||
bool ZCompare(void* fb, UINT8* hb, UINT16* zb, UINT8* zhb, UINT32 sz, UINT16 dzpix);
|
bool ZCompare(void* fb, UINT8* hb, UINT16* zb, UINT8* zhb, UINT32 sz, UINT16 dzpix);
|
||||||
|
|
||||||
// Fullscreen update-related
|
// Fullscreen update-related
|
||||||
void VideoUpdate(bitmap_t *bitmap);
|
void VideoUpdate(bitmap_t *bitmap);
|
||||||
|
|
||||||
// Commands
|
// Commands
|
||||||
void CmdInvalid(UINT32 w1, UINT32 w2);
|
void CmdInvalid(UINT32 w1, UINT32 w2);
|
||||||
void CmdNoOp(UINT32 w1, UINT32 w2);
|
void CmdNoOp(UINT32 w1, UINT32 w2);
|
||||||
void CmdTriangle(UINT32 w1, UINT32 w2);
|
void CmdTriangle(UINT32 w1, UINT32 w2);
|
||||||
void CmdTriangleZ(UINT32 w1, UINT32 w2);
|
void CmdTriangleZ(UINT32 w1, UINT32 w2);
|
||||||
@ -515,37 +515,37 @@ class Processor
|
|||||||
void CmdTriangleSZ(UINT32 w1, UINT32 w2);
|
void CmdTriangleSZ(UINT32 w1, UINT32 w2);
|
||||||
void CmdTriangleST(UINT32 w1, UINT32 w2);
|
void CmdTriangleST(UINT32 w1, UINT32 w2);
|
||||||
void CmdTriangleSTZ(UINT32 w1, UINT32 w2);
|
void CmdTriangleSTZ(UINT32 w1, UINT32 w2);
|
||||||
void CmdTexRect(UINT32 w1, UINT32 w2);
|
void CmdTexRect(UINT32 w1, UINT32 w2);
|
||||||
void CmdTexRectFlip(UINT32 w1, UINT32 w2);
|
void CmdTexRectFlip(UINT32 w1, UINT32 w2);
|
||||||
void CmdSyncLoad(UINT32 w1, UINT32 w2);
|
void CmdSyncLoad(UINT32 w1, UINT32 w2);
|
||||||
void CmdSyncPipe(UINT32 w1, UINT32 w2);
|
void CmdSyncPipe(UINT32 w1, UINT32 w2);
|
||||||
void CmdSyncTile(UINT32 w1, UINT32 w2);
|
void CmdSyncTile(UINT32 w1, UINT32 w2);
|
||||||
void CmdSyncFull(UINT32 w1, UINT32 w2);
|
void CmdSyncFull(UINT32 w1, UINT32 w2);
|
||||||
void CmdSetKeyGB(UINT32 w1, UINT32 w2);
|
void CmdSetKeyGB(UINT32 w1, UINT32 w2);
|
||||||
void CmdSetKeyR(UINT32 w1, UINT32 w2);
|
void CmdSetKeyR(UINT32 w1, UINT32 w2);
|
||||||
void CmdSetFillColor32(UINT32 w1, UINT32 w2);
|
void CmdSetFillColor32(UINT32 w1, UINT32 w2);
|
||||||
void CmdSetConvert(UINT32 w1, UINT32 w2);
|
void CmdSetConvert(UINT32 w1, UINT32 w2);
|
||||||
void CmdSetScissor(UINT32 w1, UINT32 w2);
|
void CmdSetScissor(UINT32 w1, UINT32 w2);
|
||||||
void CmdSetPrimDepth(UINT32 w1, UINT32 w2);
|
void CmdSetPrimDepth(UINT32 w1, UINT32 w2);
|
||||||
void CmdSetOtherModes(UINT32 w1, UINT32 w2);
|
void CmdSetOtherModes(UINT32 w1, UINT32 w2);
|
||||||
void CmdLoadTLUT(UINT32 w1, UINT32 w2);
|
void CmdLoadTLUT(UINT32 w1, UINT32 w2);
|
||||||
void CmdSetTileSize(UINT32 w1, UINT32 w2);
|
void CmdSetTileSize(UINT32 w1, UINT32 w2);
|
||||||
void CmdLoadBlock(UINT32 w1, UINT32 w2);
|
void CmdLoadBlock(UINT32 w1, UINT32 w2);
|
||||||
void CmdLoadTile(UINT32 w1, UINT32 w2);
|
void CmdLoadTile(UINT32 w1, UINT32 w2);
|
||||||
void CmdFillRect(UINT32 w1, UINT32 w2);
|
void CmdFillRect(UINT32 w1, UINT32 w2);
|
||||||
void CmdSetTile(UINT32 w1, UINT32 w2);
|
void CmdSetTile(UINT32 w1, UINT32 w2);
|
||||||
void CmdSetFogColor(UINT32 w1, UINT32 w2);
|
void CmdSetFogColor(UINT32 w1, UINT32 w2);
|
||||||
void CmdSetBlendColor(UINT32 w1, UINT32 w2);
|
void CmdSetBlendColor(UINT32 w1, UINT32 w2);
|
||||||
void CmdSetPrimColor(UINT32 w1, UINT32 w2);
|
void CmdSetPrimColor(UINT32 w1, UINT32 w2);
|
||||||
void CmdSetEnvColor(UINT32 w1, UINT32 w2);
|
void CmdSetEnvColor(UINT32 w1, UINT32 w2);
|
||||||
void CmdSetCombine(UINT32 w1, UINT32 w2);
|
void CmdSetCombine(UINT32 w1, UINT32 w2);
|
||||||
void CmdSetTextureImage(UINT32 w1, UINT32 w2);
|
void CmdSetTextureImage(UINT32 w1, UINT32 w2);
|
||||||
void CmdSetMaskImage(UINT32 w1, UINT32 w2);
|
void CmdSetMaskImage(UINT32 w1, UINT32 w2);
|
||||||
void CmdSetColorImage(UINT32 w1, UINT32 w2);
|
void CmdSetColorImage(UINT32 w1, UINT32 w2);
|
||||||
|
|
||||||
void Triangle(bool shade, bool texture, bool zbuffer);
|
void Triangle(bool shade, bool texture, bool zbuffer);
|
||||||
UINT32 AddRightCvg(UINT32 x, UINT32 k);
|
UINT32 AddRightCvg(UINT32 x, UINT32 k);
|
||||||
UINT32 AddLeftCvg(UINT32 x, UINT32 k);
|
UINT32 AddLeftCvg(UINT32 x, UINT32 k);
|
||||||
|
|
||||||
UINT32* GetCommandData() { return m_cmd_data; }
|
UINT32* GetCommandData() { return m_cmd_data; }
|
||||||
|
|
||||||
@ -554,15 +554,15 @@ class Processor
|
|||||||
Framebuffer m_framebuffer;
|
Framebuffer m_framebuffer;
|
||||||
TexturePipe m_tex_pipe;
|
TexturePipe m_tex_pipe;
|
||||||
|
|
||||||
OtherModes m_other_modes;
|
OtherModes m_other_modes;
|
||||||
MiscState m_misc_state;
|
MiscState m_misc_state;
|
||||||
ColorInputs m_color_inputs;
|
ColorInputs m_color_inputs;
|
||||||
CombineModes m_combine;
|
CombineModes m_combine;
|
||||||
|
|
||||||
Color m_pixel_color;
|
Color m_pixel_color;
|
||||||
Color m_inv_pixel_color;
|
Color m_inv_pixel_color;
|
||||||
Color m_blended_pixel_color;
|
Color m_blended_pixel_color;
|
||||||
Color m_memory_color;
|
Color m_memory_color;
|
||||||
Color m_blend_color;
|
Color m_blend_color;
|
||||||
|
|
||||||
Color m_prim_color;
|
Color m_prim_color;
|
||||||
@ -577,14 +577,14 @@ class Processor
|
|||||||
UINT8 m_lod_frac;
|
UINT8 m_lod_frac;
|
||||||
UINT8 m_prim_lod_frac;
|
UINT8 m_prim_lod_frac;
|
||||||
|
|
||||||
Color m_one_color;
|
Color m_one_color;
|
||||||
Color m_zero_color;
|
Color m_zero_color;
|
||||||
|
|
||||||
UINT32 m_fill_color;
|
UINT32 m_fill_color;
|
||||||
|
|
||||||
UINT16 m_cc_lut1[(1<<24)];
|
UINT16 m_cc_lut1[(1<<24)];
|
||||||
UINT8 m_cc_lut2[(1<<24)];
|
UINT8 m_cc_lut2[(1<<24)];
|
||||||
UINT32 m_rgb16_to_rgb32_lut[(1 << 16)];
|
UINT32 m_rgb16_to_rgb32_lut[(1 << 16)];
|
||||||
UINT32 m_ia8_to_rgb32_lut[(1 << 16)];
|
UINT32 m_ia8_to_rgb32_lut[(1 << 16)];
|
||||||
|
|
||||||
UINT32 m_cmd_data[0x1000];
|
UINT32 m_cmd_data[0x1000];
|
||||||
|
@ -32,20 +32,20 @@ class Blender
|
|||||||
MiscState* m_misc_state;
|
MiscState* m_misc_state;
|
||||||
Processor* m_rdp;
|
Processor* m_rdp;
|
||||||
|
|
||||||
bool Blend16Bit(UINT16* fb, UINT8* hb, RDP::Color c1, RDP::Color c2, int dith);
|
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 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 Blend16Bit2Cycle(UINT16* fb, UINT8* hb, RDP::Color c1, RDP::Color c2, int dith);
|
||||||
bool Blend32Bit(UINT32* fb, RDP::Color c1, RDP::Color c2);
|
bool Blend32Bit(UINT32* fb, RDP::Color c1, RDP::Color c2);
|
||||||
bool Blend32Bit1Cycle(UINT32* fb, RDP::Color c);
|
bool Blend32Bit1Cycle(UINT32* fb, RDP::Color c);
|
||||||
bool Blend32Bit2Cycle(UINT32* fb, RDP::Color c1, RDP::Color c2);
|
bool Blend32Bit2Cycle(UINT32* fb, RDP::Color c1, RDP::Color c2);
|
||||||
bool AlphaCompare(UINT8 alpha);
|
bool AlphaCompare(UINT8 alpha);
|
||||||
|
|
||||||
void BlendEquation0Force(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 BlendEquation0NoForce(INT32* r, INT32* g, INT32* b, int bsel_special);
|
||||||
void BlendEquation1Force(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 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
|
} // namespace RDP
|
||||||
|
@ -36,9 +36,9 @@ class Rectangle
|
|||||||
UINT16 m_yh; // 10.2 fixed-point
|
UINT16 m_yh; // 10.2 fixed-point
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void Draw1Cycle();
|
void Draw1Cycle();
|
||||||
void Draw2Cycle();
|
void Draw2Cycle();
|
||||||
void DrawFill();
|
void DrawFill();
|
||||||
|
|
||||||
running_machine* m_machine;
|
running_machine* m_machine;
|
||||||
Processor* m_rdp;
|
Processor* m_rdp;
|
||||||
|
@ -8,7 +8,7 @@ namespace N64
|
|||||||
namespace RDP
|
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)
|
void TexturePipe::SetMachine(running_machine *machine)
|
||||||
{
|
{
|
||||||
|
@ -28,24 +28,24 @@ class TexturePipe
|
|||||||
}
|
}
|
||||||
|
|
||||||
UINT32 Fetch(INT32 SSS, INT32 SST, Tile* tile);
|
UINT32 Fetch(INT32 SSS, INT32 SST, Tile* tile);
|
||||||
void CalculateClampDiffs(UINT32 prim_tile);
|
void CalculateClampDiffs(UINT32 prim_tile);
|
||||||
|
|
||||||
void SetMachine(running_machine* machine);
|
void SetMachine(running_machine* machine);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void Mask(INT32* S, INT32* T, Tile* tile);
|
void Mask(INT32* S, INT32* T, Tile* tile);
|
||||||
void TexShift(INT32* S, INT32* T, bool* maxs, bool* maxt, 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 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 ClampLight(INT32* S, INT32* T, bool maxs, bool maxt, Tile* tile);
|
||||||
|
|
||||||
running_machine* m_machine;
|
running_machine* m_machine;
|
||||||
OtherModes* m_other_modes;
|
OtherModes* m_other_modes;
|
||||||
Processor* m_rdp;
|
Processor* m_rdp;
|
||||||
TexFetch m_tex_fetch;
|
TexFetch m_tex_fetch;
|
||||||
|
|
||||||
INT32 m_maskbits_table[16];
|
INT32 m_maskbits_table[16];
|
||||||
INT32 m_clamp_t_diff[8];
|
INT32 m_clamp_t_diff[8];
|
||||||
INT32 m_clamp_s_diff[8];
|
INT32 m_clamp_s_diff[8];
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace RDP
|
} // namespace RDP
|
||||||
|
@ -41,8 +41,8 @@ class TexRectangle
|
|||||||
int m_flip;
|
int m_flip;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void DrawDefault();
|
void DrawDefault();
|
||||||
void DrawCopy();
|
void DrawCopy();
|
||||||
|
|
||||||
running_machine* m_machine;
|
running_machine* m_machine;
|
||||||
Processor* m_rdp;
|
Processor* m_rdp;
|
||||||
|
@ -10,4 +10,4 @@
|
|||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
extern const char build_version[];
|
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