Update to 0.9.4:

0.9.2 -> 0.9.4 (r1844->r2352->r2437)

0.9.3 was skipped due to emu news sites sneaking it out of our staging area and
releasing it prematurely while it still had bugs. I was going to curse them
individually, but then I decided that they would just like the publicity.

Highlights:
 * New save autodetection and save file format
 * Full rerecording support

General/Core:
 bug: fix many 64 bit and endian issues
 bug: fix mic input, which was nearly useless before
 bug: fix failures of large dmas
 bug: fix in ipc sync which broke devkitpro touch
 bug: screenshots now exclude hud and rotation
 bug: rewritten vram mapping (fixes corrupted or missing BG)
 enh: add universal commandline system (same commandline options on every port)
 enh: cheats: added Action Replay code parser
 enh: more reliable and useful frameskipping
 enh: SPU: speedup: add adpcm caching
 enh: SPU: speedup: interpolation is now optional
 enh: print svn build number so we can identify people's svn builds from screenshots

Graphics:
 bug: add polygon y-sorting (fixes 3d guis)
 bug: fix texcoordgen mode 3; fixes some ortho sprites and some entirely broken games
 bug: display capture fixes
 bug: fix a number of OBJ modes
 bug: fixes to affine BG modes
 bug: better emulate some translucent OBJ
 bug: more correct handling of color effect windows and backdrop colors
 bug: fix matrix stack overrun which crashed emulator
 bug: swrast: add clear depth image emulation and other fixes to depth buffering
 bug: swrast: fix some toon and highlight cases
 bug: fix bug in matrix stack, fixes some broken models
 enh: add alternate flush mode HACK 3d config toggle, fixes some entirely broken 3d games

Gtk frontend:
 enh: switch all of menu/toolbar system to GtkAction + GtkUIManager
 enh: remove the gtglext 3d code
 enh: improve/speedup screen resize and final presentation logic in gtk frontend
 enh: minimal rerecording hookups

Cli frontend:
 enh: hooked the frameskip (szigor)
 enh: misc usability improvements: auto pause switch for pausing when focus is lost and exit on escape pressing (szigor)
 enh: hook the fake noise mic; use m to toggle

0.9.1 -> 0.9.2
General/Core:
 bug: fix error in SBCS/RSCS flags; fixes many odd behaviors and crashes [zeromus]
 bug: add support for sleep mode and power registers [luigi__]
 bug: important fixes to RTC so correct time is actually told [luigi__]
 bug: fix card reads below 0x8000; fixes some game freezes [normatt]
 bug: fix 4 mbit save type; fix non-autodetect savefile dumping [zeromus, matusz]
 enh: add sram to GBA game addon emulation for importing savefiles [zeromus]
 enh: many improvements and feature hookups in linux ports [matusz, luigi__]

Graphics:
 bug: fix specular texture mapping mode [luigi__]
 bug: repairs to some capture modes and vram mapping [zeromus, CrazyMax]
 bug: viewports finally correctly handled [zeromus]
 enh: add software rasterizer. quirky, but on par with opengl [zeromus]


0.9 -> 0.9.1
General/Core:
 enh: GBA slot emulation  [CrazyMax]
  - Rumble support (windows only)
  - GBA game
 enh: Mic support (windows only?) [luigi__]
 enh: Preliminary cheats system [CrazyMax]
 enh: Savestates invalidated, as more variables have been added.
 bug: Added PSG white noise [luigi__]
 bug: fix arm/thumb ROR [zeromus]
 bug: [ 2550645 ] Super Princess Peach: crash when starting a puzzle [zeromus]
 bug: win32: fix spu wav file writer (regression from 0.8) [zeromus,luigi__]
 bug: Much work on FIFOs, still not finished [CrazyMax]
 bug: Many fixes to dma [zeromus, CrazyMax]
 bug: bios WaitForVblank and WaitForInterrupt fixed [luigi__]

Graphics:
 bug: Added sprite blending [luigi__]
 bug: more correct mosaic effects, still imperfect [zeromus]
 bug: Many fixes to tile rendering; all graphics tests now pass [luigi__]
 bug: fix crashes in some affine BG [zeromus]
 bug: Implement some pos test function [luigi__]
 bug: fix texture mapping across texture and palette banks and to unmapped banks [zeromus]
 bug: fix texture handling for texels with MSB set (fixes some texture corruption) [zeromus]
 bug: fix texture coordinate generation, including environment mapping [zeromus]
 bug: texture cache invalidates when palettes change, prevents some texture corruption [zeromus]
 bug: fix display capturing from 2d+3d source when display mode is display-vram [zeromus]
 bug: [ 2488334 ].1 fixes to layer compositing [luigi__]
 bug: [ 2488334 ].3 fix bug in support for hdma affine bg parameters [zeromus]
 bug: Improvements to 3d h-scrolling [luigi__]
 bug: Fix some errors in rendering 512 tall BG [zeromus,CrazyMax] (still not fully resolved)
 bug: Add optional fragment shading pipeline (more precision) [luigi__]
 bug: Fix bug where some sprites got cut of on x=255 [zeromus]
 bug: Implement GXSTAT register [CrazyMax]

0.8 -> 0.9
 There have been so many changes that this list can hardly be considered complete.
 For this release, we have formatted the list into a high level overview of big changes and bad bugs relative to the previous release. Hopefully what you're interested in.
 This list does not include items which are solely performance boosts, for let us just say that virtually every system has been speeded up.

 * The savestate system is totally changed and incompatible with old savestates.
 * The 3d system should be considered rewritten.

General/Core:
 enh: Convert to c++
 enh: Add functions for a lid open/close. Holding key (default "Backspace" in Windows port) while game is freeze/non freeze. [CrazyMax]
 enh: Add secure area decryption from ndstool [zeromus]
 enh: Change savestate code to support loosely bound chunks and more easily other parts of the emu (GE, GPU).
      The savestate format is changed, but from now on it is in principle more resilient
      (though it will continue to break as we tinker with the internals) [zeromus]
 enh: Added SSE2 optimizations for matrices. Since we now make an SSE2 build, more optimizations can be made. [CrazyMax]
 enh: Add a preliminary GUI hud system [CrazyMax,zeromus]

CPU/MMU:
 bug: Many fixes in IPC and GE FIFOs. Fixes freezes in NSMB, dsracing, and others. [CrazyMax,luigi__,shash]
 bug: Fix ARM instructions SBC and RSC (likewise SBC in thumb) [normatt]
 bug: Fixed Thumb LDMIA (fixes ingame Dead'n'Furious) [shash]
 bug: Fix repeating DMA (fixes NSMB parallax BG) [zeromus]
 bug: Proper handling for unaligned CPU accesses [luigi__]
 bug: Proper handling for undefined instruction exceptions [Salva Peir
 bug: correctly return vram control register values (fixes homebrew 3d games) [zeromus]
 enh: Remove 16MB of WRAM at 0x01****** from arm9. Mapped to unused instead. Nobody knows what this was. [zeromus]
 enh: Changed instruction execution to 16 at a time blocks (tested and stable) [shash]

Hardware:
 bug: Newer and better sqrt and div emulation; makes SM64DS playable [luigi__,shash,zeromus]
 bug: Add preliminary RTC implementations [CrazyMax]
 enh: Add cosine interpolation in the SPU (conditionally compiled) [zeromus,luigi__]
 enh: Experimental: always one silent non-mixing SPU core at 44.1khz synched with emu, for more precision.
      The audible core runs with the host, causing music to slow down but not tear or pitch bend. [zeromus]

Graphics:
 - Overhaul 3d:
  . Move entire GE to core emu.
  . Move OpenGL renderer to emu core for optional use by platforms, removing ogl_collector. Now every platform shares the same 3d code.
  . Reorganize 3d code to defer rendering to after 3d vblank. Eliminates tearing, and texturing artifacts. [zeromus]
  . Add optional fragment shading pipeline (more precision) [luigi__]
  . Move lighting model to software instead of using opengl's fixed function model [zeromus]
  . Render shadow volumes; toon shading and highlight table [zeromus, luigi__]
  . Added texture caching! big speed up. [CrazyMax]

 bug: Many assorted tweaks and improvements to 3d and 2d precision [zeromus,CrazyMax,luigi__]
 bug: Fixes to GE: command unpacking, projection and pos-vector mode matrix handling, mult and load commands [zeromus]
 bug: Fix a bug in texture transformation mode 1 [zeromus]
 bug: Fixed GPU rendering bugs in sprites and BG [CrazyMax]
 bug: Fixes to texture conversion [CrazyMax,zeromus]
 bug: Fixes in capture display (no blinking in many games with dual 3D) [CrazyMax]
 bug: Fixes in master brightness (this fixes some games with black screens) [CrazyMax]
 bug: Fixes in screen, backdrop, and sprite blending [luigi__]
 bug: Changed clear depths and how depth initial values are calculated (fixes SM64DS skybox, Castlevania) [shash,lugi__]
 bug: Add 3d layer h-scrolling [zeromus]
 bug: Added transparency and fixed material alpha support and alpha testing on the 3D core [shash]
 bug: Rewrite VRAM mapping control and rendering (more accurate) [CrazyMax,luigi__]

 bug: convert colors to opengl better to prevent alpha=31 polys from being ever so slightly transparent [zeromus]
 enh: Add MMU->GPU signal for when vram mappings change to function as a texture cache invalidate signal [zeromus]
 enh: Make matrix 4x4 multiply routines use W-coordinate; carry w coord through pipeline [zeromus]
This commit is contained in:
Thomas Klausner 2009-08-16 12:00:05 +00:00
parent 6e70d36bbf
commit 4837d64f19
4 changed files with 29 additions and 9 deletions

View file

@ -1,7 +1,7 @@
# $NetBSD: Makefile,v 1.3 2009/07/22 09:53:11 thomasklausner Exp $
# $NetBSD: Makefile,v 1.4 2009/08/16 12:00:05 thomasklausner Exp $
#
DISTNAME= desmume-0.8
DISTNAME= desmume-0.9.4
CATEGORIES= emulators
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=desmume/}
@ -11,6 +11,7 @@ COMMENT= Nintendo DS emulator
GNU_CONFIGURE= yes
USE_TOOLS+= intltool perl pkg-config
USE_LANGUAGES= c c++
PKG_DESTDIR_SUPPORT=user-destdir

View file

@ -1,12 +1,13 @@
@comment $NetBSD: PLIST,v 1.1.1.1 2008/07/11 03:07:10 dillo Exp $
@comment $NetBSD: PLIST,v 1.2 2009/08/16 12:00:05 thomasklausner Exp $
bin/desmume
bin/desmume-cli
bin/desmume-glade
man/man1/desmume-cli.1
man/man1/desmume-glade.1
man/man1/desmume.1
share/applications/desmume-glade.desktop
share/applications/desmume.desktop
share/desmume/glade/DeSmuME.xpm
share/desmume/glade/DeSmuMe.glade
share/desmume/glade/DeSmuMe_Dtools.glade
share/pixmaps/DeSmuME.xpm
@dirrm share/desmume/glade
@dirrm share/desmume

View file

@ -1,5 +1,6 @@
$NetBSD: distinfo,v 1.1.1.1 2008/07/11 03:07:10 dillo Exp $
$NetBSD: distinfo,v 1.2 2009/08/16 12:00:05 thomasklausner Exp $
SHA1 (desmume-0.8.tar.gz) = 2cd567ccd737dc90f601f711e0bee32d78aee9de
RMD160 (desmume-0.8.tar.gz) = 34757edf746cc3b16089a107e933cccba3030ebf
Size (desmume-0.8.tar.gz) = 690259 bytes
SHA1 (desmume-0.9.4.tar.gz) = 06eb3cb9c57547d3c43e272648d176a252143e43
RMD160 (desmume-0.9.4.tar.gz) = c86eab6727331a45403325facc0add968275de6d
Size (desmume-0.9.4.tar.gz) = 1035843 bytes
SHA1 (patch-aa) = 8f51d0d746065b6b4be6cee62b1fa74f914c849a

17
desmume/patches/patch-aa Normal file
View file

@ -0,0 +1,17 @@
$NetBSD: patch-aa,v 1.1 2009/08/16 12:00:05 thomasklausner Exp $
--- src/NDSSystem.cpp.orig 2009-07-08 08:11:01.000000000 +0000
+++ src/NDSSystem.cpp
@@ -80,10 +80,12 @@ static u32 keyCode[3];
#define DWNUM(i) ((i) >> 2)
+#ifndef bswap32
static u32 bswap32(u32 val)
{
return (((val & 0x000000FF) << 24) | ((val & 0x0000FF00) << 8) | ((val & 0x00FF0000) >> 8) | ((val & 0xFF000000) >> 24));
}
+#endif
static BOOL getKeyBuf()
{