Commit graph

2672 commits

Author SHA1 Message Date
Sven Eckelmann
ac7d87fc3d Change m64p_helper_scripts to github 2013-12-18 15:23:06 +01:00
Sven Eckelmann
d145680b25 Change regression video test to github repositories 2013-12-18 15:23:06 +01:00
Sven Eckelmann
fe9c08ba83 Force line ending type for specific files
Different operation systems (Unix vs. Windows) use different line ending types.
It can easily happen that users from different systems edit files and replace
all line endings of a file with the system specific version. This screws up
diffs and makes merges harder.

Git can normalize line endings for specific files and avoid this problem.
Binary files should be marked to avoid accidentally normalization.
2013-12-18 15:23:06 +01:00
Sven Eckelmann
3343b5db4a Convert .hgignore to .gitignore 2013-12-18 15:23:06 +01:00
Sven Eckelmann
1cfe47f625 Revert "Merge 16kb eeprom savetype with Wii64"
This should fix some ingame save problems.
2013-12-15 11:37:09 +01:00
Sven Eckelmann
67f8d10ac3 A cleared EEPROM block has all bits to 1 and not 0 2013-12-15 11:37:09 +01:00
Sven Eckelmann
83edfef8c7 Enable CountPerOp for the new_dynarec 2013-12-14 17:27:19 +01:00
Sven Eckelmann
85d5bf0066 Remove debug artifacts from CountPerOp commit 2013-12-14 16:56:04 +01:00
Sven Eckelmann
a19fac3325 Allow to disable interrupt delay after DMA SI read/write
Titles like Banjo Tooie are known to hang because the interrupt after the SI
read/write is delayed. But there are also titles which are known to have
problems when delay is enabled. Examples are

 * Body Harvest
 * City Tour Grandprix - Zennihon GT Senshuken
 * Cruis'n USA
 * GT 64 - Championship Edition
 * Nightmare Creatures
 * Ucchan Nanchan no Hono no Challenger - Denryuu Ira Ira Bou
2013-12-13 16:49:26 +01:00
Sven Eckelmann
5d5ff6af92 Allow to overwrite the cycles per instruction
Some ROMs require a different average cycles per instruction count than the
default one (2 per emulated instruction). This setting is necessary because
mupen64plus is not cycle accurate. A complete simulation of pipeline, cache,
bus and so on is necessary to get it perfectly without this workaround.

Known titles which require a CounterPerOp of 1 are

 * 64 de Hakken!! Tamagotchi - Minna de Tamagotchi World
 * 64 Oozumou
 * A Bug's Life
 * Airboarder 64
 * Bass Hunter 64
 * Bass Rush - ECOGEAR PowerWorm Championship
 * Bassmasters 2000
 * Biohazard 2
 * Body Harvest
 * California Speed
 * Carmageddon 64
 * Charlie Blast's Territory
 * City Tour Grandprix - Zennihon GT Senshuken
 * Destruction Derby 64
 * Disney's Tarzan
 * Donkey Kong 64
 * Duck Dodgers Starring Daffy Duck
 * Duke Nukem - ZER0 H0UR
 * Excitebike 64
 * Fighting Force 64
 * Flying Dragon
 * Fushigi no Dungeon - Fuurai no Shiren 2 - Oni Shuurai! Shiren Jou!
 * GT 64 - Championship Edition
 * Hamster Monogatari 64
 * Harvest Moon 64
 * Hercules - The Legendary Journeys
 * Hexen
 * Hiryuu no Ken Twin
 * In-Fisherman Bass Hunter 64
 * International Superstar Soccer 64
 * Itoi Shigesato no Bass Tsuri No. 1 Kettei Ban!
 * Jikkyou G1 Stable
 * Jikkyou World Soccer 3
 * Madden NFL 2000
 * Madden NFL 2001
 * Madden NFL 2002
 * Madden NFL 99
 * Mario Party
 * Mario Party 2
 * Mario Party 3
 * Mario Story
 * Monopoly
 * Mystical Ninja 2 Starring Goemon
 * NBA In the Zone '99
 * NBA Showtime - NBA on NBC
 * Nightmare Creatures
 * Nintama Rantarou 64 Game Gallery
 * Nuclear Strike 64
 * Nushi Duri 64
 * Nushi Duri 64 - Shiokaze ni Notte
 * Paper Mario
 * Pro Mahjong Kiwame 64
 * Pro Mahjong Tsuwamono 64 - Jansou Battle ni Chousen
 * Quake II
 * Razor Freestyle Scooter
 * Ready 2 Rumble Boxing Round 2
 * Resident Evil 2
 * Roadsters Trophy
 * Rush 2 - Extreme Racing USA
 * San Francisco Rush 2049
 * Shadow Man
 * Tigger's Honey Hunt
 * Toy Story 2
 * Triple Play 2000
 * Ucchan Nanchan no Hono no Challenger - Denryuu Ira Ira Bou
 * Vigilante 8
 * Vigilante 8 - 2nd Offence
 * Virtual Pool 64
 * War Gods
 * WCW-nWo Revenge
 * Wipeout 64
 * HardCoded by Iceage
 * Spacer by Memir (POM '99)

Known titles which require a CounterPerOp of 3 are

 * BattleTanx
 * BattleTanx - Global Assault
 * Beetle Adventure Racing!
 * Disney's Donald Duck - Goin' Quackers
 * Donald Duck - Quack Attack
 * HSV Adventure Racing
 * Jikkyou Powerful Pro Yakyuu Basic Ban 2001
 * LEGO Racers
 * Monster Truck Madness 64
 * Pilotwings 64
 * Road Rash 64
 * Wave Race 64 - Shindou Edition
 * WCW Nitro
 * Wetrix
2013-12-13 16:49:26 +01:00
Joel 'iLag' Hammond
8e14cc9ba5 Add Missing Subscreen Delay Fix for Ocarina of Time
Mupen64plus contains built-in cheats for Ocarina of Time, which activates the
essential subscreen delay fix.  However, the built-in code for Master Quest
only works for the (E) version of Master Quest, and not the (U) version. The
file also does not include the (U) (GC) version of Ocarina of Time. Master
Quest and the GC versions of Ocarina of Time also need the End Credits Fix,
otherwise these games will crash when the credits are displayed.
2013-12-13 16:49:26 +01:00
Sven Eckelmann
020ae86b81 Fix multiple definitions of main in same namespace 2013-12-13 16:49:26 +01:00
littleguy77
a4b3bbf9a8 R4300: Remove obsolete variable; caused crashes in PD/Goldeneye in Android Ed.
Issue pinpointed by xperia64 and discussed in greater length here:
http://www.paulscode.com/forum/index.php?topic=1199.msg11751#msg11751

This may be just a band-aid to a deeper issue.  Was discovered in Android while
trying to reload save states for Perfect Dark and Goldeneye from the latest
master revision of mupen64plus-ae.  Recent changes to mupen64plus-ae have elim-
inated the blanket call to System.exit() it was using previously, which may have
been masking this issue before now.  AE is also different from the upstream PC
version because it loads ui-console dynamically and calls main as a subroutine
of a larger multi-threaded android process (rather than ui-console being an
entry point to a new process). Not sure of all the ramifications, or if this is
even the correct fix, but it does fix the problem in AE.
2013-11-29 09:25:06 -05:00
Richard Goedeken
aeddaab4aa merged heads 2013-09-21 14:07:07 -07:00
Sven Eckelmann
f01319ee3b Don't fail rebuild when header is removed
The *.d depends files for make just list the files used when building an
object file. Removing a file listed in such a dependency file causes make to
search for a way to recreate it. This usually cannot work because these files
aren't autogenerated.

The gcc option -MP can be used to generate empty rule for these files. Removing
a file in a dependency list will then execute this empty rule and continue with
the execution of the creation of the object file. This compilation process will
then automatically correct the dependency file.
2013-09-20 10:31:38 +02:00
littleguy77
56a5cb4322 Remove unneeded #include <SDL_opengl.h> in screenshot.cpp
Enables compiling for OpenGL ES hardware.
2013-09-16 10:38:56 -04:00
littleguy77
9f21c2248b Bugfix: Use correct config parameter string (CurrentSaveSlot->CurrentStateSlot) 2013-09-15 15:25:48 -04:00
Sven Eckelmann
a6d1e14d77 Remove SDL unicode keycode compat code
SDL 2.0 cannot store unicode anymore. Pre-2.0 versions provided this
field but it was removed right before the 2.0 release. Still using it
makes the compile fail.
2013-08-17 12:11:22 +02:00
Sven Eckelmann
8ab20c2837 Fix saveslot selection for SDL2
The IDs for SDL scancodes don't start from SDL_SCANCODE_0 and end at
SDL_SCANCODE_9. Therefore, SDL_SCANCODE_9 is bigger than SDL_SCANCODE_0 (which
violates a precondition of the key check) and this makes it impossible to
select a saveslot using the numbers on the keyboard.

Using a special (order independent) function which translates to the slot ids
avoids this problem and can still be optimized to a simple range check +
calculation by the compiler.
2013-07-25 13:38:32 +02:00
Sven Eckelmann
5d1dac61ec Reset PIF_RAMb 46,47 after the n64_cic_nus_6105 challenge
The Banjo Tooie response check fails when the PIF RAM is is not set to zero
for byte 46 and 47.
2013-07-21 10:34:46 +02:00
Richard Goedeken
a3956b04d8 merge heads 2013-07-12 20:32:18 -07:00
Richard Goedeken
84d7543ef2 fix build error with MAKE DEBUGGER=1 and newer binutils 2013-07-12 20:32:02 -07:00
richard42
88df3e78c8 simplify OSX platform detection in makefile using xcode-select. based on patch from John Pender 2013-07-08 07:32:53 -07:00
Richard Goedeken
09885d8874 merged heads 2013-07-04 17:58:29 -07:00
Richard Goedeken
00077b33db Added tag 2.0 for changeset 35545b49055e 2013-07-04 15:46:58 -07:00
Richard Goedeken
ceb195f7b7 update version number to 2.0 2013-07-03 07:06:28 -07:00
Sven Eckelmann
b77d5512db Revert: Implement SI register DMA busy bit
The implementation of the SI regiser DMA busy bit caused regressions in games
like Mischief Makers (no gamepad input is detected by the game). The only known
benefit seems to be the reduced message spam about duplicated interrupts.

The message spam caused by some ROMS can be tolerated until the cause of the
regression is better understood.

This reverts 734b67b8ff647cc355b5f6b781799c42e75e81ea ("Implement SI register
DMA busy bit")
2013-07-01 18:24:01 +02:00
Richard Goedeken
975c1ce837 converted the module API versioning document into a wiki doc to put on the development wiki (retrouprising) 2013-06-28 22:52:04 -07:00
Richard Goedeken
d067cbfabb greatly improve the run_rice and run_glide scripts that come with the OSX bundle, so that users can supply multiple parameters to the ui-console application instead of only being able to give one (the ROM name) 2013-06-27 23:13:32 -07:00
Richard Goedeken
5e8c6622cf update LICENSES 2013-06-27 22:46:03 -07:00
Richard Goedeken
16c3d64ddf update README 2013-06-27 22:28:41 -07:00
Richard Goedeken
4445fc33d9 update text files for upcoming 2.0 release 2013-06-25 22:43:55 -07:00
Richard Goedeken
2c386da0e3 add COREDIR=/usr/local/lib/ to build_bundle_bin.sh, so that the ui-console front-end can find the core library when installed in a distro which doesnt have /usr/local/lib/ in the /etc/ld.so.conf file 2013-06-24 22:20:38 -07:00
Richard Goedeken
5e463b17a5 apply patch from: https://bitbucket.org/rlabrecque/mupen64plus-core/overview 2013-06-23 13:07:26 -07:00
Sven Eckelmann
58c98a03a3 Use SDL1.2 keysym in the config when using SDL2
It is easier for a user to keep the old SDL1.2 values for the keys in the
config instead of converting them by hand. This is extreme important when the
default (automatic) config is used.
2013-06-22 14:11:10 +02:00
Richard Goedeken
84881a2e93 merged heads 2013-06-12 21:34:19 -07:00
richard42
a3fb843ea8 add OSX build script and instructions 2013-06-12 09:57:26 -07:00
Sven Eckelmann
a1b5427bff Simply open joystick when needed in SDL2
The joysticks in SDL2 use reference counting and return just a new reference
when trying to reopen a joystick. SDL_JoystickOpened is not needed in SDL2.
2013-06-11 17:44:16 +02:00
Sven Eckelmann
0b3a67f292 Ignore key repeats caused by the OS keyrepeat 2013-06-11 17:23:30 +02:00
Sven Eckelmann
c56f99988e Ignore upper 8 bit of countrycode when checking for PAL/NTSC system
Only the lower 8 bits are checked by the country code to system type check to
decide whether a PAL or NTSC system should be emulated. 8707bea8b73c
("1. Update msvc11 project file to visual studio 2012 (msvc11)") changed the type to
be checked to 16 bit and forgot to mask the upper 8 bits out when doing the
system check.
2013-06-11 10:19:59 +02:00
Sven Eckelmann
e7d2be62ae Fix new video resize functionality when compiling against SDL 2.0 2013-06-10 11:16:15 +02:00
Richard Goedeken
cf81fa7e2e removed file from last commit 2013-06-08 15:59:49 -07:00
Richard Goedeken
483c3161fc add special file to prove identity for freenode irc channel 2013-06-08 13:11:13 -07:00
richard42
563590b6c2 update install/uninstall scripts: remove check for root access (UID=0), and add simple permissions check (verify write permissions on any install directories which exist prior to installation) 2013-06-03 08:01:49 -07:00
Richard Goedeken
10495b46e6 small fixes in install/uninstall scripts: check for root permissions before doing anything, and when uninstalling, don't try to rmdir if the target is a symbolic link 2013-06-02 09:09:49 -07:00
Richard Goedeken
c7fa488b8f tagged v2.0-rc3 2013-06-01 23:27:44 -07:00
richard42
86c03f6ad3 fix numerous bugs in osal_mkdirp for win32 2013-06-01 22:27:39 -07:00
Richard Goedeken
3a558b848f tagged v2.0-rc2 2013-06-01 18:00:33 -07:00
Richard Goedeken
5125e3ec54 apparently we need those inline statements, to avoid warnings in linux. but visual studio cant handle the 'inline' keyword for C, it requires __inline. So put it in osal 2013-06-01 09:41:41 -07:00
richard42
23f6da0502 1. Update msvc11 project file to visual studio 2012 (msvc11)
2. remove unnecessary 'inline' declarations
3. fix warnings reported by vs2012
2013-06-01 07:55:18 -07:00