Commit Graph

206 Commits

Author SHA1 Message Date
Flyinghead 41e4c805de OSX: support new input system. Use existing emulator thread.
Added new OSD notification feature, combined with FPS counter, moved to
GUI
OSX: don't create and manage a new emulator thread but use existing one
OSX: keyboard and mouse use new input system
2019-02-27 23:02:25 +01:00
Flyinghead a0e7231340 naomi: reload PG settings and reset jvs controller when switching game 2019-02-25 23:31:05 +01:00
flyinghead b1bb89909e win32 fixes
use imgui id to allow multiple contents with same name
2019-02-25 19:15:59 +01:00
Flyinghead 492e771272 Content browser (WIP)
Get rid of the renderer thread. It is now the main/UI thread on all
platforms. The emulator runs in a separate thread.
Content browser displayed at startup.
2019-02-25 17:52:53 +01:00
flyinghead a1e400b43c win32: stop audio when emu is paused to avoid looping sound 2019-02-21 22:55:50 +01:00
Flyinghead 810182c4fe Scale down native resolution setting 2019-02-19 00:49:24 +01:00
Flyinghead 4c1acfeab1 android: native egl surface
fps counter using imgui
restart emulator with new game in same process
2019-02-18 00:25:06 +01:00
Flyinghead 460a6828cf android: missing change 2019-02-16 16:59:27 +01:00
Flyinghead 5e65d2a19d Per-game configuration: create/delete from gui
Removed unused settings
Per-game setting can override any setting
Built-in per-game settings can be overriden
2019-02-16 14:25:54 +01:00
Flyinghead 2602d855ee android: refactor initialization
Report dc_init errors properly with a popup
Disable reios use
Use builtin per-game settings
2019-02-15 20:48:30 +01:00
Flyinghead 8b5c2a3fac New input handling/mapping system, SDL only for now. Gui wip 2019-02-12 11:30:24 +01:00
flyinghead 4685bc1fad win32: hook up mouse 2019-02-07 20:04:17 +01:00
flyinghead 3cdd39170d win32: call os_DoEvents on the emu/main thread and other fixes 2019-02-07 19:20:10 +01:00
Flyinghead 82f156f143 Gamepad support to GUI. Wire evdev, SDL and windows
Allow dc_stop() to work even when the emu is paused
2019-02-07 16:59:24 +01:00
Flyinghead eb3bbb7dc0 Android: more UI settings (video) 2019-02-07 09:42:51 +01:00
Flyinghead 1802c022fd UI with ImGui 2019-02-06 19:57:13 +01:00
Marcel Szewczyk b26b12054b Merge branch 'master' of https://github.com/reicast/reicast-emulator into mar753/render-to-texture-with-options 2019-02-06 17:39:12 +01:00
Flyinghead 51c77b248b Enable RTT to vram for Skies of Arcadia 2019-02-03 18:11:04 +01:00
Flyinghead 4b78e24753 allocate mem based on state file size instead of current state size 2019-02-03 17:56:43 +01:00
Marcel Szewczyk f0c4fe6fdc Additional improvements/fixes 2019-01-18 18:39:48 +01:00
Marcel Szewczyk 2327c1b83e nullDC.cpp updated to support other OSes 2019-01-09 17:33:41 +01:00
Flyinghead 8532d1a032 Android: add Load Custom Textures option 2018-12-31 08:52:50 +01:00
Flyinghead dd280ee24d Custom textures loading and dumping 2018-12-30 18:42:55 +01:00
Marcel Szewczyk 302bfcd582
Merge branch 'master' into mar753/render-to-texture-with-options 2018-12-30 18:26:31 +01:00
Flyinghead 2ecc54b4c9 Set DC date and time automatically, DC language setting 2018-12-23 12:59:16 +01:00
Flyinghead 9c556007fb Naomi: lr backport 2018-12-11 23:20:30 +01:00
Flyinghead 2b16edd71f Android: enable DSP, Add dynarec safemode/disable div matching 2018-12-07 12:58:07 +01:00
Flyinghead 064531df95 Add some ExtraDepthScaling for NHL 2K2
Fixes tiny pause menu in-game
2018-12-03 15:14:00 +01:00
Flyinghead e444acbc09 Android: set NoBatch to 1 to enable the DSP 2018-11-30 12:40:43 +01:00
Flyinghead 40f2d64b6c Android: Add zip files to naomi manifest. Load per-game std settings. 2018-11-16 18:35:17 +01:00
Flyinghead 1055c8366f Naomi: JVS boards refactoring, support for Ninja Assault 2018-11-15 18:30:54 +01:00
Flyinghead 6f3b492175 Naomi/AW: Allow bios region selection
Per-game flash and bbram save files
naomi_boot.bin now optional
2018-11-12 17:54:38 +01:00
Flyinghead 9ccf0efdea switch between interpreter and dynarec at runtime 2018-11-11 23:49:41 +01:00
Marcel Szewczyk 4fd9de54ce Added rtt menu options 2018-11-11 17:55:18 +01:00
Flyinghead 0702682693 AtomisWave support
Better AtomisWave platform support
Refreshed flashrom implementaion
AtomisWave carts
Merged rom+bios romsets
2018-11-07 23:27:32 +01:00
Flyinghead 22558d190a Naomi: add dual I/O boards config for Ring Out 4x4 2018-11-06 14:01:54 +01:00
Flyinghead 4e56432a2b Naomi: M1/M2 mame roms support. M4 carts still WIP 2018-11-05 22:53:38 +01:00
David Miller 6589f4ddbd Update Beta from merge, no real change 2018-11-04 23:49:17 +00:00
Flyinghead 415e0ab356 Fix x86 builds 2018-10-29 16:53:26 +01:00
Flyinghead 7bb00a339f Free maple devices on exit. Avoid mem leaks on startup. 2018-10-29 16:31:44 +01:00
Flyinghead 8a56710841 New save state format 2018-10-29 15:11:34 +01:00
Flyinghead e4055f3192 Naomi: return ones when reading past the actual rom size. dc_reset()
Special JVS setting for Outtrigger (rotary encoders)
Return FF when reading past the actual roms area
Extract dc_reset() function for future use
2018-10-28 12:35:19 +01:00
flyinghead 275c9c1516 Naomi: Cosmic Smash per-game setting 2018-10-21 02:48:24 +02:00
Flyinghead 613e42a014 Naomi: better id of games, per-game jvs setup and settings
Better lst parsing with error handling
2018-10-17 13:18:24 +02:00
Stefanos Kornilios Mitsis Poiitidis 4ceac65b0d
Merge pull request #1412 from reicast/fh/aica-int-timing
AICA/DMA: Make the transfers take some time, add fallback option. Fixes sfa3 and bomberman online
2018-10-05 14:29:00 +02:00
Stefanos Kornilios Mitsis Poiitidis 09f8a50bf2 AICA: Make async dma an option, default on 2018-10-05 14:24:56 +02:00
Ender's Games 8d52045265 Stop reading values that are "malformed" on Android 2018-10-03 00:12:57 -04:00
Flyinghead ba8e9dcab0 link error with dispframe 2018-10-02 12:29:29 -04:00
Flyinghead 5ba9916b22 Add cable/region/broadcast to per-game configuration.
Do not save per-game settings if the game name or id is unknown (NAOMI).
2018-09-30 10:54:09 +02:00
Ender's Games 24504bc22e Fix a typo. Always check your copy/paste twice. 2018-09-29 22:08:35 -04:00
Flyinghead ac4a98ec85 Serialize broadcast, cable and region. Signal EOR after loading a state.
broadcast, cable and region must be restored when loading a state of a
crash is likely to happen.
After loading a state, the emulator may hang waiting for an end of
render interrupt. This happens if a render was done right before saving
the state but before the EOR interrupt is raised. So we signal an EOR
after loading a state just in case.
2018-09-29 16:34:58 +02:00
Ender's Games ee3a474ee4 Revert "Interrupt Hack setting w/ less stigma"
This reverts commits e5c0f0e, eebf3fc, 14fc7d9
2018-09-26 09:06:07 -04:00
Flyinghead 84e7ca03ad Don't connect a DC keyboard by default.
Not supported on most platforms.
Alien Front Online doesn't show the on-screen keyboard if a DC keyboard
is connected.
2018-09-24 20:53:21 +02:00
Flyinghead 411baa6b8e OSX: Save states support. Build fixes. 2018-09-23 16:18:35 +02:00
Flyinghead 0c575a51b3 Do not save per-game settings if the game name is unknown (NAOMI).
Add cable/region/broadcast to per-game settings.
2018-09-21 17:47:21 +02:00
Flyinghead 06a4f9f25d Dynarec.safemode -> safe-mode in custom settings 2018-09-21 10:19:57 +02:00
Flyinghead 6a5ae18179 Prepend game name to state file 2018-09-20 22:41:10 +02:00
Flyinghead de147549c3 Save states implementation 2018-09-20 19:48:46 +02:00
Flyinghead 7ce4fccb37 Merge remote-tracking branch 'origin/master' into fh/mymaster 2018-09-20 17:28:41 +02:00
Flyinghead 37d014f002 Disable div matching for Surf Rocket Racers 2018-09-20 13:42:48 +02:00
Flyinghead 8a2684ff55 Dreamcast mouse emulation 2018-09-18 09:27:16 +02:00
Flyinghead 562d64bed5 Cleanly stop the web UI thread on exit 2018-09-07 12:57:26 +02:00
Flyinghead a167b43361 add game product id 2018-09-05 15:32:25 +02:00
Flyinghead c43446f355 Initialize ExtraDepthScale for Android 2018-09-04 23:38:00 +02:00
Flyinghead c1317cbad7 No web UI if no threads 2018-09-04 18:47:12 +02:00
Flyinghead f202b3b143 Add new ExtraDepthScale setting to scale huge Z values.
Use 1e26 for Samurai Shodown 6 (NAOMI)
2018-09-04 18:37:59 +02:00
Sven daae7c8e68 add save states 2018-09-02 09:49:23 -04:00
Abandoned Cart 4ed65fca3d
Revert "Fix to windows OpenFile dialog #1238" 2018-08-28 13:38:11 -04:00
Abandoned Cart a1996f0fe9
Merge pull request #1352 from reicast/pold500/fix-openfile-dialog
Fix to windows OpenFile dialog #1238
2018-08-28 08:12:42 -04:00
Pavel Dmytriiev (Github) 3677e23e1d Fixed magic digits sense codes with some meaningful values 2018-08-27 23:22:07 -04:00
Pavel Dmytriiev (Github) a4e6dbadb5 Fix to windows OpenFile dialog
Now it actually says something about what exactly it tries to open, also on "cancel" it exits gracefully.

Proposal: instead of checking one thousand return codes, which are easily ignored, I suggest using an exceptions (this part of emulator doesn't require execution speed, so exceptions here would be just fine).
2018-08-27 23:20:39 -04:00
Ender's Games 25919cce78 PGC: Settings that should be per-game exclusive 2018-08-27 06:10:35 -04:00
Ender's Games 5bdc362da3 Remove QueueRender option (non-functional)
Reverts:
2c517896b2
e81f43ff20
9ed9f460e9
2018-08-27 00:42:21 -04:00
Ender's Games bd6b0c003d Core: Fix formatting of configuration options
Fix formatting using web editor to ensure accuracy
2018-08-27 00:12:16 -04:00
Ender's Games 14fc7d910a Convert Interrupt Hack to name w/ less stigma 2018-08-26 23:13:25 -04:00
Ender's Games 2c66bf3b3a Core / Android: Add dynarec to per-game config 2018-08-26 07:56:36 -04:00
Ender's Games 31fb575165 Core: Support retrieving disk info before full init 2018-08-26 07:56:28 -04:00
Ender's Games 2c517896b2 PVR: Add a QueueRender flag to force usage
Originally implemented with libretro-reicast commit:
38186045d9aebc8ff2b6118de70f4c2596914914
Modified for use w/ reicast per-game configuration
2018-08-22 21:14:19 -04:00
Ender's Games e5c0f0ee71 https://code.google.com/p/nulldc/source/detail?r=108
Originally ported from nullDC to libretro in commits:
2fa562db1b46c52b663b3dd4bb33a64907357458
f8eb58ac16a9e5adf662b99be5d00729264808e0
Modified for use w/ reicast per-game configuration
2018-08-22 21:14:02 -04:00
Christoph "baka0815" Schwerdtfeger 638a97d1ae Maple: Reworked the way controllers are created
A new function was introduced to abstract the setup of input devices for each os: os_SetupInput().
I hope I implemented this everywhere correctly and the behaviour is identical to before.

The new function mcfg_CreateNAOMIJamma() creates the NAOMI Jamma interface and is hidden behind a compile flag (same as before).
The previous function mcfg_CreateDevices() was renamed to mcfg_CreateDevicesFromConfig() because it creates the devices based on the configuration (``nb`` setting).
2018-08-21 00:33:18 -04:00
Ender's Games ef6242d2f7 Android: Create a per-game configuration view
Android: Pass game configuration options to emu

TODO: Fix inability to reload fragment w/ new settings

Android: Limit preference scope, Avoid static crutch

Android: Obligatory button to commit PGC settings

Android pressures the use of async preferences, but does not properly block threads. This causes the settings from one view to bleed into the next when swapping back and forth. This can be overcome by explicitely writing to the specific pref object.

Android: Add PGC documentation to window
2018-08-20 22:02:59 -04:00
Ender's Games 9e57068192 Config: Only load modified game settings, don't save
There is no reason to build a configuration file of duplicate settings. The user can acquire the defaults from the config section and only inject the changes into the game section.
2018-08-20 14:29:13 -04:00
Ender's Games 2311253aa5 Config: log a software name to the configuration file
This value is printed to the config file alongside individual settings and cannot be modified. It will be replaced each time the configuration is read, preventing any risk of user error.
2018-08-20 13:23:50 -04:00
Ender's Games 78977387ac Reios: perform initial configuration, as needed 2018-08-20 12:28:58 -04:00
Ender's Games 4424d84960 Port libretro reios params with less intrusive query 2018-08-19 05:41:00 -04:00
Ender's Games f2b9b2fcf7 Unimplemented method for per-game configuration
This is a general outline of how per-game configuration would be read to replace the existing "default" values without restricting the settings to defined values. Each game could support it's own proprietary configuration that could be changed and updated, as needed. This separates per-game config from the emulator version.
2018-08-19 05:41:00 -04:00
Ender's Games a3f585ea1c Port the dynarec safe flag from nullDC (See #84) 2018-08-16 20:00:10 -04:00
Flyinghead a7cfa1f737 Disable Div matching for Record of Lodoss War 2018-08-14 09:17:22 +02:00
Flyinghead 04b84b90e3 Merge master into fh/mymaster 2018-08-13 18:01:24 +02:00
Ender's Games 553ce3d352 Android: align calls with lifecycle, add core pause
This fixes the JNI naming structure to match the Android lifecycle stages and adds the ability to save things like the time when the app goes into the background without actually halting the emulator.
2018-08-08 11:22:47 -04:00
Flyinghead c0c06ed8ff Renderer: select shader at runtime based on the GL context version
The GL renderer now detects the version of the current GL context and
compiles the shaders accordingly. Supports GLES2, GLES3 and desktop GL.
Android: use 8,8,8 framebuffer instead of 5,6,5. Requests a 8-bit
stencil buffer (modifier volumes)
2018-08-07 09:44:52 +02:00
Flyinghead 31d8c1f091 Backport texture upscaling with xBRZ 2018-08-01 19:43:01 +02:00
Flyinghead 9942bfc86e Merge branch clean-exit-light 2018-08-01 18:02:50 +02:00
Flyinghead a11dd3f159 Get rid of EGHack 2018-08-01 17:20:41 +02:00
Flyinghead 20de593a88 Clean exit on OS X. Minor changes. 2018-07-24 14:27:58 +02:00
Flyinghead 960904c401 Exit cleanly in desktop platforms
Lighter and cleaner version of the previous PR
2018-07-23 19:52:50 +02:00
Flyinghead 71d7f90858 Merge upstream 2018-07-19 12:19:51 +02:00
Flyinghead a17a0bae3b Utility to display a single frame 2018-07-16 17:19:45 +02:00
Flyinghead 0284d635d2 Upscale rendered-to textures
Increase the size of RTT textures by a given integer factor. Defaults to
1.
This gives much better quality textures, particularly visible when used
fullscreen for transition or pause screens.
2018-07-16 16:28:48 +02:00
Flyinghead 4fd233aca0 Disable div32 matching for Star Wars I - Racer. Fixes the invisible
suns.
2018-07-13 23:24:47 +02:00