fix: [ 2550645 ] Super Princess Peach: crash when starting a puzzle

This commit is contained in:
zeromus 2009-01-31 04:47:23 +00:00
parent 98c68d8d89
commit 19f9cd36fc
2 changed files with 21 additions and 8 deletions

View File

@ -1,13 +1,20 @@
0.9+ 0.9 -> 0/10
General/Core:
bug: SF [ 2550645 ] Super Princess Peach: crash when starting a puzzle [zeromus]
bug: win32: fix spu wav file writer (regression from 0.8) [zeromus]
bug: More variables added to savestate. Savestates probably invalidated.
Graphics: Graphics:
bug: Fix some errors in rendering 512 tall BG [zeromus,CrazyMax] (still not fully resolved) bug: Fix some errors in rendering 512 tall BG [zeromus,CrazyMax] (still not fully resolved)
bug: 3d compositing integrated into GPU engine (more precision and speed in cases where no compositing needed) [luigi__] bug: 3d compositing integrated into GPU engine (more precision and speed in cases where no compositing needed) [luigi__]
bug: Add optional fragment shading pipeline (more precision) [luigi__] bug: Add optional fragment shading pipeline (more precision) [luigi__]
bug: fix texture mapping across texture banks [zeromus] bug: fix texture mapping across texture and palette banks [zeromus]
bug: fix texture handling for texels with MSB set (fixes some texture corruption) [zeromus] bug: fix texture handling for texels with MSB set (fixes some texture corruption) [zeromus]
bug: fix thumb ROR [zeromus] bug: fix arm/thumb ROR [zeromus]
bug: win32: fix spu wav file writer (regression from 0.8) [zeromus] bug: fix texture coordinate generation from normal (fixes environment mapping) [zeromus]
enh: dont memcmp for texcache validity when the texture banks arent unmapping [zeromus] bug: fix display capturing from 2d+3d source when display mode is display-vram [zeromus]
bug: more correct mosaic effects [zeromus]
enh: dont memcmp for texcache validity when the texture banks arent unmapping (speedup) [zeromus]
Mac OS X Port: Mac OS X Port:
bug: left key setting no longer gets confused with the right key [jeff] bug: left key setting no longer gets confused with the right key [jeff]

View File

@ -536,6 +536,12 @@ u8 *MMU_RenderMapToLCD(u32 vram_addr)
static FORCEINLINE u32 MMU_LCDmap(u32 addr) static FORCEINLINE u32 MMU_LCDmap(u32 addr)
{ {
//handle LCD memory mirroring
if ((addr < 0x07000000) && (addr>=0x068A4000))
return 0x06800000 +
//(addr%0xA4000); //yuck!! is this even how it mirrors? but we have to keep from overrunning the buffer somehow
(addr&0x80000); //just as likely to be right (I have no clue how it should work) but faster.
if ((addr < 0x6000000)) return addr; if ((addr < 0x6000000)) return addr;
if ((addr > 0x661FFFF)) return addr; // Engine BOBJ max 128KB if ((addr > 0x661FFFF)) return addr; // Engine BOBJ max 128KB
@ -921,7 +927,7 @@ void FASTCALL MMU_doDMA(u32 num)
/* word count */ /* word count */
taille = (MMU.DMACrt[PROCNUM][num]&0xFFFF); taille = (MMU.DMACrt[PROCNUM][num]&0x1FFFF);
// If we are in "Main memory display" mode just copy an entire // If we are in "Main memory display" mode just copy an entire
// screen (256x192 pixels). // screen (256x192 pixels).