Next Generation Emulation banner
1 - 1 of 1 Posts

He's watching you.
1,221 Posts
Discussion Starter · #1 ·
what's new in 0.5:
- Core
+ detection of invalid code cache for ambiguous region now use
adler32 (faster than previous algorithm)
+ fixed a bug in ini file compression
+ added support for framebuffer effects functions : these functions
are there to help the plugins that support framebuffer extension
to zilmar's spec. These functions are based on rice's idea. I've
worked closely with Gonetz to implement these and the only plugin
that support this feature is Glide64 0.8 (when option is enabled).
Many hard to emulate framebuffer effects are supported by this
feature. Mariokart's monitor in first race running fullspeed and
puzzle effect in banjo's intro are two examples that i can think
about but there are many more.
+ detection of VI interupt rate works on weird country codes
+ better detection of self modifying code in dma
+ warnings fixed on new gcc versions
+ rsp's dmem and imem are now contiguous in PC's memory (some windows
plugins were requiring this)
+ slightly improved audio timing
+ better detection of self modifying code when accessing memory
through TLB
+ fixed a bug in RSP memory write
+ reading from ai_current_delay register should work even when
Count register is looping
+ in interpreter code : fixed a bug in jump opcodes (detection
of exceptions in delay slot in some rare conditions)
+ the event scheduler has better support for Count register loops
+ better AI interrupt handling (for musyx games for example)
+ jump opcodes changed in pure interpreter core so that they are
timed exactly like on the other cores (easier to debug this way)
+ fixed a bug when accessing memory through invalid TLB in LDL, LDR,
LWL, LWR, SWL, SDL, SDR, SWR opcodes
+ added LL, SC opcodes
+ two consecutive jump opcodes doesn't crash in the dynarec (result
is undefined according to the r4300 manual but some games are doing
+ basic implementation of fpu opcodes in dynarec
+ division by 0 in FPU opcodes is returning NaN
+ all jump opcodes implemented in the dynarec
+ faster inside function loop with dynarec (register cache)
+ various bug fixes in dynarec opcodes
+ memory access improvements in dynarec
- Linux version
+ GUI and all plugins have been switched to GKT2 (all old plugins
should be recompiled for GTK2)
+ detection of GTK 1.2 or GTK 2 in the configure script : if both
are detected, the user can choose which one to use
+ configure script rewritten so that it's compatible with standard
unix shells instead of bash
+ much improved multi-user install support : if multi-user is choosen
in configure script, mupen64 should be compiled ("make") and installed
("make install"). Then, when a user launch mupen64, it will create
automatically a .mupen64 folder in his home and put all required files
+ language saved and restored correctly when quitting mupen64
+ the console version (mupen64_nogui) has command line support and can
read settings from the gui version config file thanks to jogibear's patch
+ autoincrement save slot option when quick saving (thanks to jdratlif's
+ speed limiter in the core
+ support for plugin configuration changes when a rom is running
- Windows version
+ autoincrement save slot option when quick saving (thanks to jdratlif's
+ stabilty improvements on the GUI (when closing a rom for example)
+ added support for readScreen function to support avi recording feature
on plugins that don't use opengl or directx (ie: glide64...)

what's new in 0.4:
- A totally new core based on a dynamic recompiler with register caching,
it doesn't compile the fpu yet but it's already much faster compared
to older versions of mupen64 :)
- Self mod code detection has been improved and emulation is faster now
- A lot of little fixes that should improve compaibitlity quite a bit
- A new video recording feature (record in own mupen64 movie format that
can be converted later into a standard avi file)
- The windows GUI has been redesigned by linker
- A lot of other things i forgot... sorry :p
1 - 1 of 1 Posts
This is an older thread, you may not receive a response, and could be reviving an old thread. Please consider creating a new thread.