Sven Eckelmann
421c5b059c
Fix OSD crash after pause-stop-start-pause of emulator
...
The osd message handler for pause messages are managed outside the
message queue of the osd and will only be updated during
pauseContinueEmulation, but the message is bound to an OpenGL context
and thus must be also be deleted when the emulator is stopped and the
video plugin shuts down.
2009-11-14 01:01:38 -05:00
Sven Eckelmann
4923bcf6ad
Don't override FGR with 0xffffffff after mtc0
...
When somebody switches between 64-bit wide FGR to 32-bit FGR it will
rearrange all registers in memory. This is partly done by shifting the
different parts of a new register pair for a double together. It is
important that this is done with unsigned integers or otherwise sign
extension is done and the upper part of the register will always be
0xffffffff when the bit 31 of the lower part of the register is 1.
2009-11-14 00:58:37 -05:00
Sven Eckelmann
27b4796613
Don't shuffle FGR loaded from Project64
...
I couldn't receive any comments from zilmar about the way the FGR
register is stored inside the savegame of pj64. So I wrote some
savegames to help me to reverse engineer it. The result was that we do
it nearly perfect, but the PJ64 savegame doesn't shuffle the data back
to 64 bit wide FGR before saving when it is currently in 32 bit wide
FGR. So we shouldn't do it when saving to or loading from PJ64 savegame.
2009-11-14 00:56:43 -05:00
Sven Eckelmann
814fa8df74
Set video width and status during savestate load
...
Not setting status and width for video plugins could result in
corrupted output in some programs.
2009-11-14 00:54:22 -05:00
Sven Eckelmann
69c0030c03
Set aiDacrate during savestate load
...
Without allowing the audio plugin to set the aiDacrate the program will
start to behave strangely because the audio plugin will work with a
wrong frequency.
2009-11-14 00:51:26 -05:00
Sven Eckelmann
93535075a2
Don't allow to override r0 register
...
r0 on MIPS is hardwired to zero. It is allowed to write to this
register, but the result of any operation with the target register r0 is
discarded.
2009-11-14 00:46:57 -05:00
Richard Goedeken
58c997278d
cleaned up Auria's OSX bundle support patch
2009-11-14 00:39:08 -05:00
Richard Goedeken
2739a934c8
imported patch OSXBundleSupport
2009-11-14 00:32:56 -05:00
Richard Goedeken
6890b09c83
silly indentation
2009-11-14 00:32:37 -05:00
Richard Goedeken
6c151b57a7
imported patch FileReadBugFixed
2009-11-14 00:30:18 -05:00
Richard Goedeken
243fd15d2c
cleaned up makefiles a bit
2009-11-14 00:29:31 -05:00
Richard Goedeken
7b602e0eba
imported patch OSX_build
2009-11-14 00:24:08 -05:00
Richard Goedeken
13de16f444
zipped up the helper scripts into 1 tar.gz for easy linking from bitbucket
2009-11-09 07:52:45 -05:00
Richard Goedeken
72bcded234
updated the m64p_ tool scripts for more fine-grained operation
2009-11-08 23:50:13 -05:00
Richard Goedeken
0d283b31c2
in VidExt, track the current fullscreen/windowed state
2009-11-07 23:13:02 -05:00
Richard Goedeken
33fd1936a2
Fullscreen is not a core parameter anymore, now its in the Video-General section and the graphics plugin should correctly startup in fullscreen mode if set to True
2009-11-07 23:03:24 -05:00
Richard Goedeken
ac3543bf01
automatically save the configuration file the first time that the emulator is run
2009-11-06 19:45:54 -05:00
Richard Goedeken
a4878f044a
added clone/build script in tools/
2009-11-06 01:13:31 -05:00
Richard Goedeken
e3bef6c603
updated regression test script and config file to build the project with the 2.0 architecture
2009-11-05 01:15:29 -05:00
Richard Goedeken
5393c6fa7b
bugfix: add path separator to the end of configuration folder, in case it was given through the command line and missing on the end
2009-11-05 00:38:53 -05:00
Richard Goedeken
94cf0bc5a3
added Stop, SetFrameCallback, and TakeNextScreenshot front-end functions. Fixed up the directory handling stuff in screenshot.cpp
2009-11-04 23:50:24 -05:00
Richard Goedeken
ea7fcf0c5d
send the SDL KeyMod value to the input plugin
2009-11-04 22:31:06 -05:00
Richard Goedeken
62da3c1800
In the typedef struct {} BUTTONS data structure, X_AXIS and Y_AXIS were reversed, causing all kinds of brain damage to the code in the input plugin
2009-11-03 22:36:35 -05:00
Richard Goedeken
dd5a4108db
added typedef'd pointer to ConfigDeleteSection() in m64p_config.h
2009-11-01 19:26:34 -05:00
Richard Goedeken
e624904332
Added ConfigDeleteSection() function
2009-11-01 19:20:44 -05:00
Richard Goedeken
1399f5177d
wrote the Core Video Extension - part of this accepts and uses function pointers from the front-end for overriding the video functions, the other part calls SDL functions for fallback when the override is disabled
2009-10-30 01:12:41 -04:00
Richard Goedeken
76311e739c
print warning if plugins are not attached in the proper order
2009-10-28 20:32:17 -04:00
Richard Goedeken
7719b7c6b6
print warnings when dummy plugins are attached
2009-10-28 07:55:24 -04:00
Richard Goedeken
40144ebea6
changed line spacing in written config file
2009-10-28 01:23:43 -04:00
Richard Goedeken
cc732fb536
bugfix: pass a pointer to the byte-swapped rom image to the gfx plugin, not the un-swapped header
2009-10-26 23:04:11 -04:00
Richard Goedeken
8a3e83927e
added ROM Header back into GFX_INFO structure to sent when starting the video plugin. Changed ordering of startup operations: ROM must now be loaded _before_ the plugins are attached
2009-10-26 00:50:28 -04:00
Richard Goedeken
2ace585413
more user-friendly ROM information output through DebugMessage
2009-10-24 15:09:17 -04:00
Richard Goedeken
af80e7b4fb
changed makefile option named DBG to DEBUGGER, and changed DBGSYM to DEBUG. added state load/save M64CMD enums
2009-10-22 23:06:50 -04:00
Richard Goedeken
2aeba8bf18
bugfix: need to set next pointer to NULL when creating new config section
2009-10-22 07:45:08 -04:00
Richard Goedeken
232faf5ae1
moved font.ttf file up one dir into data folder, removed fonts folder
2009-10-21 21:27:00 -04:00
Richard Goedeken
d4c357e4ff
added rom handling and execute functions to CoreDoCommand. modified open_rom and close_rom in rom.c to work with new API
2009-10-21 21:23:17 -04:00
Richard Goedeken
debaf1a556
removed unneeded gui.h file
2009-10-20 23:47:43 -04:00
Richard Goedeken
90e6659a9a
fixed minor chicken/egg problem; CoreStartup() needs a command-line specified shared data search path when it starts - it cant be specified later through the SharedDataPath core config variable because its needed at startup
2009-10-20 23:34:16 -04:00
Richard Goedeken
a213c0dbdd
renamed some main.c functions for consistency. fixed segfault in ini_reader.c when cheat file .ini object is closed after failing to load
2009-10-20 21:35:01 -04:00
Richard Goedeken
0be75a2b23
filled in CoreErrorMessage()
2009-10-20 20:07:43 -04:00
Richard Goedeken
a98d235a49
another big changeset moving over to the new API: 1. removed main/config.h and config.c, refactored core code to use new config api 2. added code for CoreAttachPlugin/CoreDetachPlugin 3. refactored r4300 core selector mechanism for single variable, removing dynacore/interpcore 4. rewrote main.c, removing unneeded functions and variables, refactoring for new API
2009-10-20 19:47:04 -04:00
Richard Goedeken
9d76a0d749
refactor plugin API to match core<-->frontend API: created api/m64p_plugin.h with function pointers and structure definitions. main/plugin.h now contains just the extern plugin function pointer declarations, some version info, and the global functions for attaching/detaching plugins
2009-10-18 13:54:35 -04:00
Richard Goedeken
1f5117801d
Completely rewrote Core's plugin handling code. Too many changes to list them all, but from a high-level perspective: 1. Remove all file-based library-handling code from plugin.c 2. Changed global API of plugin.c to integrate easily with entry-point code in api/frontend.c 3. New feature: automatic dummy plugin fallback 4. Removed legacy Win32 types (BYTE, DWORD) and struct members (hWnd, hInst, etc)
2009-10-17 22:09:51 -04:00
Richard Goedeken
fc935ffae2
Finished first draft of api/config.c: 1. added ConfigDirOverride parameter to ConfigInit 2. bugfix ConfigOpenSection: create new section if requested name doesnt exist 3. finished CoreStartup() function 4. Bugfixes in ConfigSaveFile()
2009-10-17 00:01:17 -04:00
Richard Goedeken
d907996618
implemented the last 4 functions in the Config section, the special ConfigSetDefault* functions
2009-10-16 19:33:07 -04:00
Richard Goedeken
25905c5e5c
implemented special-purpose Get() functions in configuration module
2009-10-16 01:26:28 -04:00
Richard Goedeken
2ef22904b3
Added general-purspose config Get/Set functions. Changed internal config floating-point value type from Double to Float
2009-10-16 00:47:41 -04:00
Richard Goedeken
e48eb68133
bugfix in osal_mkdirp() function
2009-10-15 23:50:52 -04:00
Richard Goedeken
e4054426fe
implemented remaining Selector functions in Config module
2009-10-15 23:38:47 -04:00
Richard Goedeken
cd54230594
moved all of the api_* files from main/ to api/, removing the prefix api_ from their names
2009-10-15 23:10:56 -04:00