Commit Graph

1998 Commits

Author SHA1 Message Date
Flyinghead 3e8033cc70 Don't die on Maple DMA abort 2018-11-08 10:41:40 +01:00
baka0815.de ab49ef89d0 SDL: Create the first controller with two VMUs 2018-11-08 09:02:25 +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 e93260634d Naomi: save cart state into save state 2018-11-06 17:54:54 +01:00
Flyinghead eff998dc53 Naomi: Decrypt M4 roms header to get game id. Refactoring and clean up 2018-11-06 14:30:34 +01:00
Flyinghead 22558d190a Naomi: add dual I/O boards config for Ring Out 4x4 2018-11-06 14:01:54 +01:00
Flyinghead 592630ae5f clean up 2018-11-06 13:04:27 +01:00
Flyinghead 7fde9fe35c Naomi: finalize M4 carts support 2018-11-06 12:40:15 +01:00
Flyinghead a3f898b7d0 Naomi: implement undocumented SH4 registers to make version h bios happy 2018-11-06 10:54:13 +01:00
Flyinghead c95d13fdf1 Naomi: M1/M2/M4 missing files 2018-11-05 22:54:35 +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
baka0815 8ab66a44b7
Merge pull request #1448 from reicast/fh/wacky-races
Enable log2 depth at runtime when supported (GL, GLES 3)
2018-11-03 22:01:22 +01:00
Christoph "baka0815" Schwerdtfeger 001a767ab7 CHD: swap bytes of CHDv5+ audio tracks
Thanks @flyinghead
See https://github.com/libretro/reicast-emulator/pull/370
2018-11-03 19:29:55 +01:00
Christoph "baka0815" Schwerdtfeger 161e84598d Respect the offset of the padding
The StartHunk logic was flawed and while working with CHD files before v5 didn't work for v5 (and above).
The extraframes logic did work in some cases (read 3 track CHDv5) but didn't work in all cases and was merely a hack in retrospective.

Thanks to the comment of @flyinghead (see also b6c2508922 (diff-cb507bb17d74342aa45b6e4d10d607af)) the logic is now correct and works for v4 and v5 files.
2018-11-03 19:24:53 +01:00
Flyinghead 2003fc88d7 CHD v5 support 2018-11-02 10:14:25 +01:00
baka0815 bf3d1b2186
Merge pull request #1453 from luserx0/master
Documentation additions
2018-11-02 10:13:25 +01:00
Harry Pantazis 997bdef772
Update README.md 2018-11-01 11:33:23 +02:00
Christoph "baka0815" Schwerdtfeger 6f358ebf8f CHD: Only pad when version >= 5 2018-10-30 21:27:25 +01:00
Christoph "baka0815" Schwerdtfeger 98c1e7253c CHD: Use the hunk caching
We didn't remember the last hunk and always read again.
2018-10-30 21:27:25 +01:00
Christoph "baka0815" Schwerdtfeger 4bb9507695 CHD: Reworked the extra frame handling
This way Sonic 2, F355, Crazy Taxi, Rayman 2 and Daytona USA work.
2018-10-30 21:27:25 +01:00
Christoph "baka0815" Schwerdtfeger eca88de501 CHD: If uncompressed we don't need to check compression 2018-10-30 21:27:25 +01:00
Christoph 'baka0815' Schwerdtfeger c5f21ab9a3 CHD: Enable FLAC on Windows 2018-10-30 21:27:25 +01:00
Christoph "baka0815" Schwerdtfeger 68d2641672 Trying to break-fix Windows using __inline instead of inline 2018-10-30 21:27:25 +01:00
Christoph "baka0815" Schwerdtfeger 2862926f2c CHD/FLAC: Use local deps for FLAC and enable on Android
Using locally installed FLAC libs, so no more need for libflac-dev.
2018-10-30 21:27:25 +01:00
Christoph 'baka0815' Schwerdtfeger a008a736d8 CHD/FLAC: surround flac.c with #ifdef 2018-10-30 21:27:25 +01:00
Christoph "baka0815" Schwerdtfeger 5e16412629 Fix includes 2018-10-30 21:27:25 +01:00
Christoph "baka0815" Schwerdtfeger 0fa4900af4 CHD: Enable FLAC via library (on Linux builds) 2018-10-30 21:27:25 +01:00
Christoph "baka0815" Schwerdtfeger 50bcc8cd46 CHD: Enable support for LZMA (CDLZ) compression 2018-10-30 21:27:25 +01:00
Christoph "baka0815" Schwerdtfeger 4691418689 CHD: Check for extra frames
If the frame count is not dividable by 4, there are extra frames added to keep a padding.
This is true for F355 (450 frames -> 2 extra frames) and others.

Also move CD_TRACK_PADDING to chd.cpp to work around problems with including from C and C++.
2018-10-30 21:27:25 +01:00
Christoph "baka0815" Schwerdtfeger d24b68f592 CHD: read additional track types
Also don't print "Unable to find metadata" as it's mostly not true (we reach this part after the last track)
2018-10-30 21:27:25 +01:00
Christoph "baka0815" Schwerdtfeger 2de15899f2 CHD: Wrap FLAC and LZMA with defines
Make CHDv5 generally work without FLAC and LZMA decoding possibilities so there is currently no need for extra deps.
2018-10-30 21:27:25 +01:00
Christoph "baka0815" Schwerdtfeger 401d931b96 CHD: Imported 96a2ce8a5b 2018-10-30 21:27:25 +01:00
Flyinghead 4bce2bbbbf OSX wants GLSL 1.4 or later 2018-10-30 11:48:44 +01:00
Flyinghead 5e59901e70 OSX build fixes 2018-10-30 11:29:30 +01:00
Flyinghead 2b25244c95 cResetEvent: needs absolute timeout value. Fixes Android FPS drop. 2018-10-30 10:56:25 +01:00
Iam Bot 0d69050b63 Documentation additions 2018-10-30 03:26:55 +02:00
flyinghead 0d965fe3a3 mingw32 build fix 2018-10-29 22:59:46 +01:00
Flyinghead a1745801f0 cResetEvent: convert to ns instead of us 2018-10-29 21:41:57 +01:00
Flyinghead dd7d0a1ac2 Android: deadlock due to cResetEvent.Wait() bug 2018-10-29 20:56:45 +01:00
Flyinghead dc9780eb46 Android: fix black screen at boot on some devices 2018-10-29 20:03:47 +01:00
Flyinghead 3e9d8d8a07 Free TA contexts on exit 2018-10-29 20:02:12 +01:00
Flyinghead 6177a5b33a Clear texture cache on exit 2018-10-29 18:02:47 +01:00
Flyinghead 415e0ab356 Fix x86 builds 2018-10-29 16:53:26 +01:00
Flyinghead bffccac5a6 coreio file handle leak in cdi image reader 2018-10-29 16:45:49 +01:00
Flyinghead 7bb00a339f Free maple devices on exit. Avoid mem leaks on startup. 2018-10-29 16:31:44 +01:00
Flyinghead 47be33d388 Free dynarec code blocks on exit 2018-10-29 16:10:39 +01:00
Flyinghead 8a56710841 New save state format 2018-10-29 15:11:34 +01:00
Flyinghead ffb72cd0b6 Texture-based fog table 2018-10-29 00:31:24 +01:00
Flyinghead 96157de639 Enable log2 depth at runtime when supported (GL, GLES 3)
Fix issues with pixel scaling and scissoring.
Wacky Races should not be playable.
2018-10-28 22:09:36 +01:00
Marcel Szewczyk f309a59fac Render to texture single pass implemented 2018-10-28 20:16:45 +01:00
David Miller 75d319ea3c removed pragma once from arm-new.h, inline file 2018-10-28 15:10:53 -04:00
David Miller c9abcf6cbb Merge branch 'master' of https://github.com/reicast/reicast-emulator 2018-10-28 11:46:55 -04:00
David Miller a8c09197a3 os_MakeExecutable() using sizeof(sz) 2018-10-28 11:45:35 -04:00
David Miller b907e3ff4d
Merge pull request #1441 from ccawley2011/no-evdev
Fix compilation on systems without evdev
2018-10-28 11:40:40 -04:00
Flyinghead cdb5cf662b Initialize PVR function pointer to non-null 2018-10-28 11:33:35 -04:00
Flyinghead a88bed1690 Fix mismatched new/delete operators (master) 2018-10-28 15:42:26 +01:00
Flyinghead 0cfd8f5494 Sprites face culling is reversed.
Fixes South Park Rally and Wacky Races invisible menus.
2018-10-28 09:43:48 -04:00
David Miller 45bf5e51b1
Merge pull request #1443 from janisozaur/patch-1
Fix mismatched new/delete operators
2018-10-28 09:17:01 -04:00
Michał Janiszewski a69bd937c3 Add missing include guards 2018-10-28 13:45:46 +01:00
Michał Janiszewski 2cae875fa2
Fix mismatched new/delete operators 2018-10-28 13:18:25 +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 22b18d97a0 Don't flush the dynarec cache when the sh4 instruction cache is flushed
Fixes Shikigami No Shiro II slowness
2018-10-28 01:29:44 +02:00
Flyinghead 15372f4187 Modem: close connecting sockets on exit 2018-10-26 19:38:59 +02:00
Flyinghead cfbd261c75 Initialize PVR function pointer to non-null 2018-10-26 18:17:30 +02:00
Flyinghead aab0a4e36d Modem: Fix VC 2K game sport games series 2018-10-26 18:14:34 +02:00
Cameron Cawley 7a5a3301ae Fix compilation on systems without evdev 2018-10-24 20:27:12 +01:00
flyinghead ea993d92e9 DSP: access violation on win32 x86 due to missing exec perm 2018-10-24 18:37:11 +02:00
Flyinghead 4fcfabf55a Aica-arm: fix x86 dynarec with gcc 2018-10-24 18:02:27 +02:00
null void 5496b52cdf removed nullptr, after the previous rollback was remerged (partially?) it seems to be causing trouble for builds with old compilers, where c++ std isn't set to at least 11, etc. 2018-10-24 11:37:31 -04:00
flyinghead ebca83e56e Naomi: fix raw BIN/DAT files loading on win32 2018-10-24 10:34:50 +02:00
Flyinghead 6a16262b62 rec-ARM: increase significant bits in addresses for 8MB ARAM/16MB VRAM 2018-10-22 17:43:30 +02:00
Flyinghead 282534d7bc cdi, chd: better error messages 2018-10-22 17:39:02 +02:00
Flyinghead efcb95b4ee Naomi: proper read/write handlers for memory area 0x600000 2018-10-22 17:35:08 +02:00
Flyinghead af1b2da0bf maple: minor fix 2018-10-22 17:33:38 +02:00
Flyinghead b1bd3e251e Naomi: get rid of .lst files 2018-10-21 22:16:28 +02:00
Flyinghead c07cbbe9bf JVS: fix substract coin 2018-10-21 03:25:49 +02:00
flyinghead e7fd2919bd win32: ignore lst size when mapping Naomi rom files 2018-10-21 02:55:07 +02:00
flyinghead 27b79edf6f win32: Naomi test/service/coin keyboard bindings 2018-10-21 02:51:20 +02:00
flyinghead e8a6835972 Naomi: force eeprom save. Ignore JVS node id if outside range 2018-10-21 02:50:08 +02:00
flyinghead 275c9c1516 Naomi: Cosmic Smash per-game setting 2018-10-21 02:48:24 +02:00
flyinghead 0d1a892515 JVS: fix buffer overflow (win32 crash)
Fix MSVC build.
2018-10-20 20:08:51 +02:00
Flyinghead fb84df6665 Better logging 2018-10-20 19:38:21 +02:00
Flyinghead 9d327f3592 Aica-rec: revert to original ops order (load arm flags first) 2018-10-20 16:21:22 +02:00
Flyinghead e31a1ddf71 Aica: fix ARM and x86 dynarecs for unaligned branch op
Fixes sound issue in Spikers Battle
Tentative implementation of x86 rec asm functions on linux
clean up
2018-10-20 13:59:12 +02:00
Flyinghead 431b3e4324 Naomi: buffer overflow 2018-10-19 19:23:43 +02:00
Flyinghead 921228c7a9 Naomi: rec-arm do_sqw_nommu_area_3 fix
Fixes black screen on boot with many Naomi games on arm:
Alien Front
Virtual Tennis 2
Virtua NBA
Gun Survivor 2 code: Veronica
Jambo Safari
2018-10-18 16:15:09 +00:00
Flyinghead d27d4f9b00 Naomi: fix for ARM 2018-10-18 09:55:17 +00:00
Flyinghead 24f46f9813 Raspberry Pi build fix 2018-10-17 14:04:39 +00: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
Flyinghead 18c6031bc8 JVS: Fix controls of Crazy Taxi, Power Stone and Zombie Revenge 2018-10-16 17:51:04 +02:00
Flyinghead 4b38b9b788 less log 2018-10-16 15:35:28 +02:00
Flyinghead 2214af734f JVS: Fix multiple i/o board problems
Rotary encoders support for Virtua Golf and Shootout Pool
2018-10-16 15:34:45 +02:00
Flyinghead 7156a165e3 JVS: multiple I/O boards support and bug fixes 2018-10-15 00:59:52 +02:00
Flyinghead 2e367ed3c2 JVS: Fix length of various 86 commands 2018-10-12 17:19:59 +02:00
Flyinghead cab0bdbe42 Fix light gun y position in VGA mode 2018-10-12 17:19:03 +02:00
Flyinghead f24edb4df5 Don't die on ObjectList PVR list type
NAOMI Virtual On Oratorio
2018-10-12 17:18:21 +02:00
Flyinghead 2c4e68ff9f JVS: refactoring to be closer to actual hardware
Returns multiple JVS messages at once
Multiple I/O boards correctly handled
Jambo Safari playable
Virtua Golf boots
2018-10-11 21:17:55 +02:00
Flyinghead 82e0fc7f60 Don't crash on invalid ram write size. Report and ignore 2018-10-11 21:15:00 +02:00
Flyinghead ff01e3521b Better NAOMI JVS emulation 2018-10-11 10:09:28 +02:00
Flyinghead 77fae1ef09 Backport changes from libretro 2018-10-05 15:07:30 +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
Flyinghead 124f920170 Backport GL 2.0 support from libretro core 2018-10-04 22:37:35 +02:00
Flyinghead dfd0f2901b minor clean up 2018-10-04 21:30:22 +02:00
Flyinghead 27b710e589 ifdef's around renderer types 2018-10-04 20:01:14 +02:00
Flyinghead b47be37b32 Dynamic switching between GL3 - GL4 renderers 2018-10-04 19:44:52 +02:00
Flyinghead 8116072f7e Refactor shader selection/compilation. Avoid using glcache for texture
in GL4 renderer.
2018-10-04 15:55:41 +02:00
Flyinghead 7203681202 Less code dup 2018-10-04 14:49:20 +02:00
Flyinghead 3a929aeeb1 Terminate A-buffers cleanly. Call renderer Term() at shutdown.
Less code dup.
2018-10-04 14:04:15 +02:00
Flyinghead b8ae998252 If GL4 renderer is not supported, fall back to default. Fix SDL GL init. 2018-10-04 13:37:45 +02:00
Flyinghead 0260b00c00 Less code dup 2018-10-04 12:32:26 +02:00
Flyinghead 1dfc9902b7 Share scale_x and scale_y between GL and GL4 renderers. Don't use
ShaderUniforms in OSD.
2018-10-04 12:03:00 +02:00
flyinghead ef5e8593fa GL4: Initialize atomic buffer correctly. Limit size of pixel buffer.
SetupMainVBO should be static
2018-10-04 10:58:33 +02:00
flyinghead ce65be2f63 dsound: always wait on push 2018-10-04 10:56:07 +02:00
Flyinghead 3f791d6f04 Merge OIT renderer into master 2018-10-04 10:29:23 +02:00
Ender's Games 8d52045265 Stop reading values that are "malformed" on Android 2018-10-03 00:12:57 -04:00
Stefanos Kornilios Mitsis Poiitidis 84bf6ab913
Merge pull request #1428 from reicast/fh/ftrc-op-fix
sh4: Fix FTRC (ipr, canonical, x86) by using correct positive cutoff value
2018-10-02 23:12:28 +02:00
Flyinghead ba8e9dcab0 link error with dispframe 2018-10-02 12:29:29 -04:00
Flyinghead 0627530e33 GL: avoid white lines on the screen sides due to rounding 2018-10-02 12:28:42 -04:00
Abandoned Cart 9bc22e7ecc
Merge pull request #1427 from reicast/fh/implied-listinit
Some games send TA data without calling ListInit first. Don't crash in that case
2018-10-02 09:59:11 -04:00
Flyinghead f419786584 Fix sh4 FTRC op to use correct positive cutoff value.
Fix for interpreter, common dynarec and x86 rec.

Fixes wrong car color in Tokyo Xtreme Racer car selection screen.
2018-10-02 12:38:49 +02:00
Flyinghead 41899230fb Some games send TA data without calling ListInit first. Don't crash in that case.
Fixes crashes in Looney Tunes Space Race, Test Drive Le Mans and others.
2018-10-02 10:25:15 +02:00
Flyinghead 19b37b9957 Do not crash on unaligned VRAM read access. Just return 0.
Fixes House of the Dead 2
2018-10-02 10:07:11 +02:00
Flyinghead 601fafa1ad Light gun support 2018-10-01 20:34:35 +02:00
Flyinghead 19c0e3aea5 arm: Link error when compiling for arm with TARGET_NO_AREC 2018-10-01 09:35:02 +02:00
Flyinghead 7b596bd388 Avoid heap corruption on android
No idea why this happens. Avoiding malloc/free during compile seems to
help.
2018-09-30 20:42:18 +02:00
Flyinghead 5d8d1bd107 GL: Partial redraws. OSD fixes
EGL: Request the surface to be preserved between two rendering
Clear the sides of the screen when not rendering widescreen.
Do not re-create GL resources multiple times (android)
2018-09-30 12:39:47 +02: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 9de8379434 GL: clear gl framebuffer before drawing a direct FB write 2018-09-29 18:10:43 +02: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
Flyinghead d81a3cd720 save states: fully restore the maple devices when loading a state 2018-09-29 16:13:07 +02:00
Flyinghead 407a579bfc GL: take pixel scaling into account for OSD buttons and text coords
Fixes OSD with Wacky Races and JoJo's Bizarre Adventure
2018-09-29 14:48:18 +02:00
Flyinghead c49e6c17d0 gl: isinf() issues with GLES3. Use it with GL only
Fixes black screen in PSO and Sonic Adventure 2 on Android
2018-09-27 21:45:03 +02:00
Flyinghead 5fe41e5f1f keyboard: reset released key 2018-09-26 22:58:15 +02:00
Flyinghead af5931c214 House of the Dead 2 does unaligned vram access 2018-09-26 22:53:43 +02:00
Flyinghead a522bf114b maple: Fix mouse FD 2018-09-26 22:37:51 +02:00
Flyinghead 10c7650690 Schedule the interrupt signaling the end of an Aica DMA transfer instead
of raising it immediately.

Fixes Street Fighter Alpha 3 and Bomberman Online
2018-09-26 22:01:48 +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 752d254982 X11: keyboard auto-repeat detection 2018-09-26 10:08:49 +02:00
Flyinghead e3bb0a09ab Detect TA overruns and cancel the rendering. Increase vertices, indices
and translucent polygons max count.

Fixes crashes in D2 and Triggerheart Exelica.
2018-09-26 09:42:43 +02:00
Flyinghead 4547973561 Better mouse handling on X11 2018-09-26 02:00:50 +02:00
Flyinghead 3ff14dd2b3 Modem: shutdown local socket when remote is shutdown
Fixes issues with http requests: web browsers, Monaco Grand Prix Online
2018-09-26 00:04:57 +02:00
flyinghead c135ab0e90 Win32: fix msvc build. removed tick thread 2018-09-25 14:09:07 +02:00
Flyinghead 1320ce5949 Modem: Close pico socket when native one returns an error.
Linux build fix.
2018-09-25 12:39:37 +02:00
flyinghead be8bae0547 Modem: port to win32/winsock 2018-09-25 12:29:51 +02:00
flyinghead 21f47c03ec Fix dynarec x64 crash with mingw64.
Get rid of CDI warning pop up dialog
2018-09-25 12:27:37 +02:00
Flyinghead c850093b0a OSX: bind -> ::bind for UDP too 2018-09-24 21:37:07 +02:00
Flyinghead 36e13a9468 Proper way to close sockets 2018-09-24 21:19:43 +02: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 2c343fddf2 modem: Transparent IP proxy. Removes the need for a TAP/TUN device 2018-09-24 19:06:14 +02:00
Flyinghead dc5ce8fa8b Create maple devices on Linux. Default to 2 VMUs per controller 2018-09-24 18:56:24 +02:00
Flyinghead 411baa6b8e OSX: Save states support. Build fixes. 2018-09-23 16:18:35 +02:00
Flyinghead 98da3a28dc rec-x86: Load PC from sh4 context in ngen_mainloop
Fixes load state freeze and problems when pausing the emu thread
2018-09-23 12:04:07 +02:00
Flyinghead 3c60d4745c G2-EXT2 DMA channel 2018-09-21 18:27:45 +02:00
Flyinghead 6e017fd3ef Tentative fix for Maken X hang 2018-09-21 17:56:29 +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 62eeca5882 Merge remote-tracking branch 'origin/master' into fh/mymaster 2018-09-21 00:37:34 +02:00
Ender's Games 0adc6b2bce Compatibility getch() for VS 2008/2013 2018-09-20 17:49:04 -04:00
David Miller 1722a9abe4 getchar for non win32, so curses isn't req to be setup 2018-09-20 17:48:27 -04:00
David Miller 2e23ee4628 use enum for cli arg exit and android build ndef 2018-09-20 17:48:27 -04:00
David Miller 3dc16faa73 Android build fix 2018-09-20 17:48:27 -04:00
David Miller b58e866b6b Desktop command args support fixes and auto git versioning for VS and make 2018-09-20 17:48:27 -04:00
Flyinghead 6a5ae18179 Prepend game name to state file 2018-09-20 22:41:10 +02:00
Flyinghead cebc7486f8 Change cycle_counter to an int instead of u32 in the x86 dynarec 2018-09-20 22:23:38 +02:00
Flyinghead 48225e7516 Don't serialize uneeded stuff. Fix windows build. 2018-09-20 22:00:03 +02:00
Flyinghead a742b53369 Fix linux x86 startup crash 2018-09-20 21:59:19 +02:00
Flyinghead f355dda6a4 savestates: build fixes 2018-09-20 20:06:54 +02:00
Flyinghead de147549c3 Save states implementation 2018-09-20 19:48:46 +02:00
Christoph "baka0815" Schwerdtfeger 5b8749fbaa evdev: If there was an error initializing a controller, don't proceed
If the controller was not correctly initialized, the fd and/or the mapping might not be set, which could then result in access violations or other errors.
2018-09-20 17:43:24 +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 c5efc3531b ppp: Fix FCS calc, better LCP negotiation, pppdump
Fix an error in FCS calculation of sent packet when header compression
is not being used. Fixes PSO connection issue.
Added support for Async Char Map and Magic number LCP options.
Added pppdump-compatible dump file for easier debugging.
2018-09-19 10:56:10 +02:00
Flyinghead 21b685c812 Spurious character in OS X code path 2018-09-18 19:22:58 +02:00
Flyinghead df61073c39 Clip textures that extend past the end of VRAM.
Only load the valid portion of it.
Fixes Shenmue Space Harrier mini-arcade game.

Disable verify on non-square twiddled textures for Quake 3.
2018-09-18 12:01:16 +02:00
Flyinghead 8a2684ff55 Dreamcast mouse emulation 2018-09-18 09:27:16 +02:00
Flyinghead 2081a0c21b Modem doc fix 2018-09-17 21:32:28 +02:00
Flyinghead 63a8d0cca9 Modem config documentation 2018-09-17 21:28:50 +02:00
Flyinghead b9d0a4f688 msvc fix 2018-09-17 19:43:05 +02:00
Flyinghead 4a42cd6bae msvc fix 2018-09-17 18:45:11 +02:00
Flyinghead eb62b79791 OSX: Build fix 2018-09-17 18:41:44 +02:00
Flyinghead b256141b0d No picotcp for msvc 2018-09-17 18:14:48 +02:00
Flyinghead fc96593e80 Fix android build 2018-09-17 17:52:29 +02:00
Flyinghead 1314a1551d picotcp: add msvc-specific arch include. Win: never stop net stack 2018-09-17 15:29:20 +02:00
Flyinghead 843c912d86 win vs: more compile fix 2018-09-17 14:48:43 +02:00
Flyinghead ae829405b5 picotcp msvc fix: __inline, usleep 2018-09-17 14:31:27 +02:00
Flyinghead bc7fed4919 picotcp: wrong ifdef value 2018-09-17 14:10:53 +02:00
Flyinghead 92a39a1fc4 Static picotcp config for msvc. Fix warnings in modem.cpp. 2018-09-17 14:05:03 +02:00
Flyinghead 59fe373a3a Tentative fix for win VS build. Fix Makefile clean 2018-09-17 13:33:50 +02:00
Flyinghead 663b77cee6 Fix OpenGL compile error with VMWare WS14 driver 2018-09-17 13:02:07 +02:00
Flyinghead bc6a8f451a Fix picotcp on Windows
Automatically configure tap IP address, route and proxy arp using iphlpapi.
Partial port to MINGW.
2018-09-17 12:59:52 +02:00
Flyinghead 6699a8a294 Use picotcp for ppp protocol processing. Now all is needed is a tap or
tun interface.
2018-09-15 21:41:54 +02:00
Flyinghead ce3d8f2baa picotcp initial commit - missing files 2018-09-15 21:34:50 +02:00
Flyinghead aad38f965b picotcp initial commit as of 4caf65005045f0d34592274a5edd20c0d40d83f7 2018-09-15 21:28:13 +02:00
Flyinghead 54308a0949 Incorrect modem status bit was causing all received data to be ignored.
All games connect to Dreamcast Live lobby.
Tested Quake III in-game.
2018-09-14 11:18:10 +02:00
Flyinghead 2a8591798f Only clamp color if tsp.ColorClamp is set. Thanks p1pkin 2018-09-12 17:50:42 +02:00
Flyinghead fe4c310306 more build fixing 2018-09-12 15:18:12 +02:00
Flyinghead baa60bb097 Fix non linux builds 2018-09-12 14:52:45 +02:00
Flyinghead e3d99541d6 Modem support and pipe out to ppp.
Allow Ooga Booga and NFL 2K2 to connect to network lobbby at https://www.dreamcastlive.net.
Sadly all other tested games still fail the ppp handshake. Work in progress...
2018-09-12 13:20:20 +02:00
Flyinghead 0e939b5f68 Keyboard: Better keycode mapping, added CTRL. Maple cleanup. 2018-09-08 14:35:46 +02:00
Flyinghead 5b9cbb2909 log macro 2018-09-07 12:58:04 +02:00
Flyinghead 562d64bed5 Cleanly stop the web UI thread on exit 2018-09-07 12:57:26 +02:00
Flyinghead 50010418ce Fix size of framebuffer to watch for direct writes 2018-09-07 12:55:42 +02:00
Flyinghead 30f016e6a0 Use vram_mask on framebuffer watch start and end addresses 2018-09-06 22:20:17 +02:00
Flyinghead 54d0bdc5e2 Dreamcast keyboard emulation (X11 only for now) 2018-09-06 20:17:28 +02:00
Flyinghead e54ac36544 Texture cache optimization for frequent palette updates
Some old 2D games change palettes very frequently, which causes the
texture to be updated for each render.
This change uses a hash of the palette to detect changes, and include
the palette type in the cache key to distinguish textures of different
depth.
2018-09-06 12:11:55 +02:00
Flyinghead a167b43361 add game product id 2018-09-05 15:32:25 +02:00
Flyinghead 4a08856775 Render-to-texture upscaling must be accounted for when clipping 2018-09-05 15:07:30 +02:00
Flyinghead c43446f355 Initialize ExtraDepthScale for Android 2018-09-04 23:38:00 +02:00
Christoph 00ecf2f1ce
Merge pull request #1370 from reicast/baka/sdl
SDL: Fix keyboard usage
2018-09-04 22:25:03 +02:00
Christoph b402a56885
Merge pull request #1365 from reicast/baka/evdev_rework
Remove evdev specific code from main.cpp
2018-09-04 22:24:43 +02:00
Christoph "baka0815" Schwerdtfeger d3de815a0a Softrend: clean up if/else 2018-09-04 21:01:03 +02:00
Christoph "baka0815" Schwerdtfeger f96e0f1e5d Softrend: Error if no softrenderer backend found 2018-09-04 20:41:25 +02:00
Christoph "baka0815" Schwerdtfeger 981eb1b5ef Softrend: works only with X11
If X11 support is not there, reicast doesn't compile because the softrenderer needs it.
Use #ifdef to do X11 only if SUPPORT_X11 is set.
2018-09-04 19:08:39 +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
Christoph 1c880fc37c
Merge pull request #1369 from reicast/fh/ta-context-1mb
Round TA context to 1MB at ListInit time so it is found when rendering
2018-09-04 18:23:20 +02:00
Christoph "baka0815" Schwerdtfeger 69c4f163b8 SDL: Fix keyboard usage
Use kcode[port] directly (see evdev.cpp), because unsetting the keys didn't unset kcode and pressing the key another time didn't work.
2018-09-03 19:23:22 +02:00
Flyinghead 239e178226 Simplify framebuffer drawing and fix OSD 2018-09-03 15:05:37 +02:00
Flyinghead ea9bc5ff1c Round TA context to 1MB at ListInit time so it can be found at render time
Fixes black screen in NFL 2K2, NBA 2K2, Oooga Booga, Floigan Bros. and probably more Visual Concepts games.
2018-09-03 14:32:00 +02:00
Flyinghead 614ec7e9b1 Fix 32-bit vram bank mapping
Fixes texture corruption and other problems in many games
2018-09-03 12:39:52 +02:00
Flyinghead 395bfd5dbb Fix 32-bit vram bank mapping
Fixes graphical glitches in Naomi games: Melty Blood Act Cadenza, 18
Wheeler, Spawn and probably others
2018-09-03 12:26:16 +02:00
Flyinghead 228b40136f Only do color clamp when fog is on 2018-09-02 22:57:59 +02:00
Sven daae7c8e68 add save states 2018-09-02 09:49:23 -04:00
Flyinghead 96e9bce0e0 (Fog) Color clamping support 2018-09-01 12:56:37 +02:00
Christoph "baka0815" Schwerdtfeger 555e140216 evdev: Remove unnecessary exports in header
``input_evdev_init(EvdevController* controller, const char* device, const char* mapping_fname)`` and ``input_evdev_button_duplicate_button(EvdevControllerMapping* mapping1, EvdevControllerMapping* mapping2)`` are no longer used outside evdev.cpp
Needed to move ``input_evdev_init()`` around a bit.
2018-08-31 16:59:37 +02:00
Christoph "baka0815" Schwerdtfeger 8cbc342b06 Maple specific header no longer necessary 2018-08-31 16:52:08 +02:00
Christoph "baka0815" Schwerdtfeger a9a67fdaa5 Move the evdev specific code out of main.cpp 2018-08-31 16:47:55 +02:00
Flyinghead 1546e4fa8a Revert a change in the previous commit which breaks sprite stripping.
Fixes sparks glitch in Sonic Adventure 2
2018-08-31 10:26:08 +02:00
Ender's Games 62c76475eb Android: Implement trial disk swapping code 2018-08-28 14:08:36 -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
Abandoned Cart 95c06b942b
Fix formatting to force restart wercker 2018-08-28 07:50:30 -04:00
Pavel Dmytriiev (Github) 88c104580c Revert C++11 changes 2018-08-27 23:22:07 -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
Abandoned Cart 7bd871490c
Merge pull request #1341 from reicast/baka/cdi_warning
CDI: Only warn if CDI image was really loaded
2018-08-27 22:52:38 -04:00
Christoph "baka0815" Schwerdtfeger bc873cb228 Maple: Corrected creation of empty VMU
The VMU which was written to disk was never initialized and therefore consisted only of zeroes.
After saving for the first time the VMU was corrupted.

Changes:
* Not only initialize the VMU in memory but also write the correct contents to disk
* If an existing VMU consists only of zeroes overwrite it with the initial empty VMU
2018-08-27 13:50:59 +02:00
Ender's Games 25919cce78 PGC: Settings that should be per-game exclusive 2018-08-27 06:10:35 -04:00
Ender's Games cbe7238986 PGC: Avoid an issue with extended IDs
Pro Pinball Trilogy is 9 characters, including spaces, which should not be truncated for accuracy.
2018-08-27 05:42:35 -04:00
Christoph "baka0815" Schwerdtfeger 81faa0935c CDI: Only warn if CDI image was really loaded
If no image was loaded (or using ioctl) the CDI warning was always printed.
2018-08-27 10:40:08 +02:00
Christoph 14e1e4ded4
Merge pull request #1339 from reicast/baka/evdev_symlink
evdev: Search for libevdev.so.2 first
2018-08-27 10:25:40 +02:00
Christoph "baka0815" Schwerdtfeger 0f228690ad evdev: Fix off by one error
The port for player1 is 0, not 1 (we're zero based here).
2018-08-27 10:01:08 +02:00
Christoph "baka0815" Schwerdtfeger 1d66d1e2da evdev: Search for libevdev.so.2 first
Many Linux distributions provide livevdev.so.2 only so check that first.
2018-08-27 09:53:54 +02: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
Flyinghead e59d7eaf3d Direct framebuffer writes support 2018-08-26 16:58:10 +02:00
Flyinghead bb3753dc86 Use already defined constant TA_CURRENT_CTX 2018-08-26 16:31:41 +02: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
Stefanos Kornilios Mitsis Poiitidis ba8b9014a2
Merge pull request #1326 from reicast/EvdevControllerMapping_string2
evdev: Mapping name as string
2018-08-25 21:25:32 +03:00
Stefanos Kornilios Mitsis Poiitidis d4f12fae64
Merge pull request #1327 from gameblabla/voidlinuxmusl
WIP: Fixes for Musl
2018-08-25 21:25:02 +03:00
Stefanos Kornilios Mitsis Poiitidis 11f76f5fbe
Merge pull request #1321 from gameblabla/libaosound
Add support for libao
2018-08-25 21:24:29 +03:00
gameblabla a40d8bc74b
add libao support 2018-08-25 21:24:30 +02:00
Ender's Games 14b1e66ed4 Mac: Reference / implement preprocessor directives 2018-08-25 13:03:29 -04:00
Christoph "baka0815" Schwerdtfeger 8593c209d9 Fixed type of formatting argument 2018-08-25 10:55:52 +02:00
Christoph "baka0815" Schwerdtfeger 80af04421a evdev: Mapping name as string
That way we don't need to reserve memory and the output (on the command line) is correct.
2018-08-25 10:17:10 +02:00
gameblabla 55645a6fb7
Fixes for Musl 2018-08-24 23:34:03 +02:00
gameblabla 5f964de1fe
Fixes compiling if evdev is disabled 2018-08-24 23:13:41 +02:00
Abandoned Cart d98f674ac5
Merge pull request #1315 from reicast/lk/abandoned
Porting libretro features back to mainstream reicast
2018-08-22 22:44:16 -04:00
Ender's Games 9ed9f460e9 Invert QueueRender to allow better explanation
Have the setting porform the action rather than having a value that, when disabled, did what the name implies it enables.
2018-08-22 21:14:49 -04:00
Ender's Games d8226c7b5d Fix: "Functions should be declared at file scope" 2018-08-22 21:14:42 -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 f76df2da62 GDROM: Increase dma buffer cache sectors
4e956d9ef8
2018-08-22 21:14:11 -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
Abandoned Cart 97c5b9e490
Merge pull request #1282 from reicast/baka/evdev_warnnotconfigured
evdev: Print a warning if a key is not configured
2018-08-22 18:14:18 -04:00
Abandoned Cart d7b5533210
Merge pull request #1304 from gameblabla/glesfix
Fixes compiling with GLES and X11
2018-08-21 14:02:06 -04:00
Abandoned Cart 3905d6e9fb
Merge pull request #1310 from reicast/lk/lgtm
Core: Address some obvious lgtm issues
2018-08-21 10:08:32 -04:00
Ender's Games eb11d19687 Include header guards to prevent multiple inclusions 2018-08-21 09:28:54 -04:00
Ender's Games 75215ec0d1 Core: Address some obvious lgtm issues 2018-08-21 02:52:03 -04:00
Christoph "baka0815" Schwerdtfeger ad20b55d2c Fix lgtm-warning 2018-08-21 00:33:18 -04:00
Christoph "baka0815" Schwerdtfeger c8baaac632 evdev/MapleType: Controller in port 1 defaults to VMU for Maple device, all other to None
Also allow 0 for "None"
2018-08-21 00:33:18 -04:00
Christoph "baka0815" Schwerdtfeger 11b01633d0 Fix Windows 2018-08-21 00:33:18 -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
Christoph "baka0815" Schwerdtfeger 8212be4850 MapleDeviceType: Add MDT_None 2018-08-21 00:32:05 -04:00
Christoph "baka0815" Schwerdtfeger 7ef105822a evdev: Move creation of controllers
Don't expose mcfg_Create() directly, but use a proxy method mcfg_CreateController() to create the complete controller.
Using evdev the ``nb``-setting in the ``emu.cfg`` is no longer necessary (see #970) as the devices get created while initializing the controllers.

Moved the ``switch`` to it's own function.
2018-08-21 00:32:05 -04:00
Christoph "baka0815" Schwerdtfeger f75ba32fa9 evdev/maple: Set devices via config 2018-08-21 00:32:05 -04:00
Christoph "baka0815" Schwerdtfeger 17d9159b82 evdev: Add maple devices 1 and 2 to mapping & cfg 2018-08-21 00:32:05 -04:00
Abandoned Cart 62837f4db0
Merge pull request #1235 from reicast/fh/alpha-pt-rounding-fix
Float math in alpha calculation causes some punch-through textures to…
2018-08-21 00:09:06 -04:00
Ender's Games 8f82e926b8 Android: Improve msgbox, printf cdi workaround
This partially reverts commit 405909bf91304db275dde4d163befa8fc654874f.
2018-08-20 23:50:47 -04:00
David Miller 1a4f597bd8 ngen_mainloop for x86 updated to use PC value from context, CDI warning
and removed redundant header causing build failure on libwebsockets (VS)
2018-08-20 23:49:15 -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
Flyinghead ba78184461 Fix per-polygon sort option 2018-08-20 15:51:55 +02:00
gameblabla 8a53efec62
Fixes compiling with GLES and X11 2018-08-20 13:17:01 +02: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 e64367a0ad Android: A very simple method to set 4:3 resolution 2018-08-19 02:03:10 -04:00
Ender's Games 8d9d40dffc Core: Changes provided by Android NDK compiler 2018-08-19 01:54:15 -04:00
Flyinghead 6ffe4c0280 Sprites face culling is reversed.
Fixes South Park Rally and Wacky Races invisible menus.
2018-08-17 19:13:59 +02:00
Flyinghead ffb25a470d Fix Wacky Races missing half screen 2018-08-17 18:33:24 +02:00
Flyinghead 2fb9927688 Less console spamming 2018-08-17 18:30:54 +02: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
Abandoned Cart b2e07d0c96
Merge pull request #1289 from reicast/baka/evdev_checkdup2
evdev/dupcheck: Don't check unassigned buttons
2018-08-13 18:59:52 -04:00
Flyinghead 11738c9b1f DSP: interpreter optimization 2018-08-14 00:59:34 +02:00
Flyinghead c430a7906c Block checks for rec-cpp 2018-08-13 21:37:59 +02:00
Flyinghead 90b1595101 Input mapping hack for naomi: put mapping in lst file 2018-08-13 20:32:07 +02:00
Flyinghead f3bbb06d8c GL: Missing float precision qualifier in Bump Map calc 2018-08-13 18:21:52 +02:00
Flyinghead e10b46dbca Aica: missing dsp_term() for x86 dynarec 2018-08-13 18:05:56 +02:00
Flyinghead 04b84b90e3 Merge master into fh/mymaster 2018-08-13 18:01:24 +02:00
Flyinghead 32a56136ef Compile x86 arec when enabled 2018-08-13 16:38:38 +02:00
Flyinghead 94c995510e aica: Terminate the dsp at shutdown 2018-08-13 16:34:29 +02:00
Christoph "baka0815" Schwerdtfeger 7029af98a3 evdev/dupcheck: Don't check unassigned buttons
Also removes the trailing whitespaces.
2018-08-13 13:10:59 +02:00
Christoph "baka0815" Schwerdtfeger 21ea713032 X11: Values >= 1 enable keyboard 2018-08-12 15:17:56 +02:00
Christoph "baka0815" Schwerdtfeger 369ecf2db2 evdev: Print a warning if a key is not configured 2018-08-12 09:50:14 +02:00
Christoph "baka0815" Schwerdtfeger 891666d9ce evdev: Check for duplicate key assignment 2018-08-11 09:56:13 +02:00
Christoph "baka0815" Schwerdtfeger e2d186f7be evdev: Testing shows: You *can* assign the same device to multiple ports. 2018-08-10 10:16:29 +02:00
Out of Office 14bf4b5b1c
Merge pull request #1267 from reicast/lk/android-studio
Cleanup and improvements to Android Studio
2018-08-08 11:49:59 -04: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
Ender's Games f40826614a libpng: address a non-compliant define 2018-08-07 23:36:20 -04:00
Ender's Games 38edff3dae libpng: expose NEON w/out enabling 2018-08-07 23:18:05 -04:00
TwistedUmbrella 1f688173b8 libpng: restore original configuration 2018-08-07 23:02:56 -04:00
TwistedUmbrella ce71108efa libpng: update zlib references 2018-08-07 23:02:56 -04:00
TwistedUmbrella ae8c41077f libpng 1.6.34 [September 29, 2017] 2018-08-07 23:02:56 -04:00
TwistedUmbrella 66c3cb8a33 libpng 1.6.32 [August 24, 2017]
Courtesy of @mrfixit3000 ( https://github.com/reicast/reicast-emulator/issues/1121#issuecomment-383257219 )
2018-08-07 23:02:56 -04:00
Stefanos Kornilios Mitsis Poiitidis b121fd1ba2 Revert "ngen_mainloop for x86 updated to use PC value from context, CDI warning"
This reverts commit 38539a9c2f.
Reason: Breakage reported by beta testers

See #1260
2018-08-07 14:30:42 +02:00
Flyinghead 65a759b3fe Merge branch 'fh/mymaster' of https://github.com/reicast/reicast-emulator into fh/mymaster 2018-08-07 09:45:10 +02: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
David Miller 38539a9c2f ngen_mainloop for x86 updated to use PC value from context, CDI warning
and removed redundant header causing build failure on libwebsockets (VS)
2018-08-06 15:01:15 -04:00
Flyinghead 7ff93f9256 OSX: disable OpenMP as it's not available. Time to deprecate Apple... 2018-08-04 19:10:53 +02:00
Flyinghead 2cc55dfce4 rec-cpp: optimize small block checks 2018-08-03 15:49:20 +02:00
Flyinghead 2489a72588 rec-cpp block checks naive implementation 2018-08-03 14:45:25 +02:00
Flyinghead fddf56c5a2 Fix TA overrun detection. Bump up verts to 2 MB, idx to 120K and TR
polys to 8K
2018-08-03 09:55:53 +02:00
Flyinghead feaca43b25 Build fixes 2018-08-02 18:44:51 +02:00
Flyinghead 1e661a4d45 AICA DMA: raise end of transfer interrupt immediately for small
transfers.

Fixes Bangai-O startup freeze
2018-08-02 18:25:02 +02:00
Abandoned Cart 9beb87ef64
Merge pull request #1236 from reicast/clean-exit-light
Exit cleanly in desktop platforms
2018-08-02 12:20:03 -04:00
Flyinghead 85781e96ec Use OpenMP instead of ctpl for multithreading 2018-08-02 17:31:38 +02:00
Flyinghead 3a7a08f3fb Do not clear the framebuffer before rendering. Fix scissoring coords.
The framebuffer is cleared by the background plane using global clipping
coordinates. This allows multiple rendering to different locations on
the framebuffer.
Fixes flashing menus in Vanishing Point, loading screens in Test Drive
Le Mans and Vigilante 8.
Better rear view mirror in Metropolis Street Racer.
2018-08-02 17:20:18 +02:00
Flyinghead ec2ac75839 Merge master 2018-08-01 20:23:16 +02:00
Flyinghead 73ef45bffd MSVC build fix 2018-08-01 19:55:29 +02:00
Flyinghead 31d8c1f091 Backport texture upscaling with xBRZ 2018-08-01 19:43:01 +02:00
Flyinghead 46c0d545ec OSX: Fix previous merge 2018-08-01 18:31:20 +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 1e67f9be0b Schedule Aica DMA interrupt instead of raising it immediately.
Fixes Street Fighters Alpha 3 freeze.
2018-08-01 16:55:50 +02:00
Flyinghead 1ac497ba30 Update AEG params when FNS or OCT registers are updated
Fixes Bomberman Online FMV intro freeze, Jet Grind Radio and Psyvariar 2 intro music fade out and probably more.
2018-08-01 16:30:43 +02:00
Flyinghead 298bf08fc0 Add dsp interpreter to Mac build. Core audio buffering. 2018-08-01 15:02:45 +02:00
Stefanos Kornilios Mitsis Poiitidis 7da4f09c01 TA: Alloc 8mb for fifo storage, workaround for doa2le 2018-07-31 00:56:26 +02:00
Flyinghead 1533091151 Clipping: do pixel scaling only when not rendering to a texture 2018-07-30 18:57:32 +02:00
Flyinghead 02bbdb3ebe Fix build on win x64 2018-07-29 21:57:57 +02:00
Flyinghead 8c3247d1b2 Generic interpreted DSP 2018-07-29 21:47:30 +02:00
Flyinghead 63a70e0f62 isinf not available in GLES 2 2018-07-29 19:24:14 +02:00
Flyinghead 92c06a7249 Update AEG params when FNS or OCT are updated.
Fixes Bomberman Online FMV intro freeze, Jet Grind Radio and Psyvariar 2 intro music fade out.
2018-07-29 18:23:53 +02:00
Flyinghead 0e881254ef Fix clipping when pixel_double is on.
Fixes 4 Wheel Thunder split screen issue.
2018-07-29 17:31:14 +02:00
Flyinghead 5960450e76 Linux x86 fix. Wait for renderer thread to end. 2018-07-24 17:24:56 +02:00
Flyinghead b1686a8f6a Do not allow inf z value in the vertex shader. Clamp w to a very small value.
Fixes ground triangles clipping in Soulcalibur intro sequence.
2018-07-24 16:55:48 +02:00
Flyinghead 20de593a88 Clean exit on OS X. Minor changes. 2018-07-24 14:27:58 +02:00
Flyinghead b28e1505c5 Fix dynarec on OSX/x64. Clean exit when window closed. 2018-07-24 13:26:31 +02:00
Flyinghead 07a36ee256 avoid named struct initializers 2018-07-24 11:22:56 +02:00
Flyinghead 2e08d7a6c9 round() not available in GLES2. Using floor() instead 2018-07-23 20:55:53 +02:00
Flyinghead 45d4abb64d "for" should be a "while" 2018-07-23 20:44:35 +02:00
Flyinghead 8dab514b2a yet another tentative asm fix 2018-07-23 20:38:31 +02:00
Flyinghead 3d2de4a0dc tentative fix for rec x86/win 2018-07-23 20:26:12 +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 86235bb4a3 Float math in alpha calculation causes some punch-through textures to have alpha noise. 2018-07-23 15:15:05 +02:00
Flyinghead 4b5e863aa7 Use log2 depth scaling in fragment shader when available.
Currently a compile time option (!GLES). Fixes many depth issues (Dynamite Cop, Cannon Spike, etc.)
2018-07-23 10:25:55 +02:00
Flyinghead ba49228fc0 Unterminated string constant 2018-07-22 23:13:32 +02:00
Stefanos Kornilios Mitsis Poiitidis 95ce251639
Merge pull request #1079 from myfreeweb/master
Build on FreeBSD
2018-07-22 00:37:34 +02:00
Flyinghead 71d7f90858 Merge upstream 2018-07-19 12:19:51 +02:00
Flyinghead 09eab8cb03 Saturate alpha channel for YUV textures 2018-07-18 22:35:55 +02:00
Stefanos Kornilios Mitsis Poiitidis a5cf5406cb
Merge pull request #1181 from baka0815/X11
X11: Refactored and fixed buttons
2018-07-18 20:59:02 +02:00
Flyinghead ff08d93019 npos undefined. Use -1 instead 2018-07-18 19:32:51 +02:00
Christoph "baka0815" Schwerdtfeger 2a167e343b X11: use x11_keymap[] for the shoulder trigger
Use DC_AXIS_LT and DC_AXIS_RT for the sliders. They are not real axes on a keyboard, but it fits.
Also hide the printf() behind a define.
2018-07-18 19:31:35 +02:00
Flyinghead e637dcf8f9 reinstate line deleted by previous commit 2018-07-18 16:07:17 +02:00
Flyinghead cc8569fcf8 Fix 8888 high-quality textures on GLES/arm
GLES doesn't support uint 8888 so bytes must be swapped on little endian
architecture.
2018-07-18 16:01:40 +02:00
Flyinghead 4fced53e25 Dangling pointer in evdev code (electric fence) 2018-07-18 11:19:53 +02:00
Flyinghead 673841d1df Dump frame when F10 pressed 2018-07-16 17:31:52 +02:00
Flyinghead a17a0bae3b Utility to display a single frame 2018-07-16 17:19:45 +02:00
Flyinghead dc835dd64d Dump shaders source if compile fails 2018-07-16 16:52:11 +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
topu 90304f0c67 Fix controller support when building with GCC8 2018-07-15 13:59:37 +02:00
Stefanos Kornilios Mitsis Poiitidis 1ada311513
Continuous delivery to play store beta from travis
Merge pull request #1210 from reicast/skmp/reicast-beta-cd

Should build and deploy from master only

*crosses fingers*
2018-07-14 19:42:31 +02:00
Flyinghead bb2d860902 Use red channel for fog table in GL but continue using alpha channel in
GLES. Alpha channel is supported only in GL compat mode, not core.
2018-07-14 10:48:16 +02:00
Flyinghead 2d3fd59e04 Revert f13b366e8d57c15a6a97cc0721d68ddb5268385f: the fixNaN function is
completely bogus and the correct one doesn't have any effect.
2018-07-14 09:13:56 +02:00
Flyinghead 4fd233aca0 Disable div32 matching for Star Wars I - Racer. Fixes the invisible
suns.
2018-07-13 23:24:47 +02:00
Flyinghead f13b366e8d Set the value for NaN according to the SH4 specs
The SH4 sets the signaling bit to 0 for qNaN: 7fbfffff instead of the
usual 7fffffff. Same games seem to rely on this.
Fixes Fur Fighters freeze and missing geometry in game.
2018-07-13 18:57:51 +02:00
Flyinghead ea35eeb728 Fix FTRC op in both interpreter and dynarec with respect to Inf and NaN
The -ffast-math gcc option implies the -ffinite-math-only option, which
produces wrong results with Inf and NaN. Use integer math to detect the
sign of float numbers in FTRC to avoid these issues.
Also the upper cut off value for conversion was apparently wrong.
Also fixed the x86 dynarec but not tested.
Fixes wrong car color in Tokyo Xtreme Racer car selection screen.
2018-07-13 12:02:32 +02:00
Flyinghead df35e95e57 Eldorado Gate Vol.1 needs EGHack 2018-07-12 19:48:39 +02:00
Flyinghead 8a9313270f Demolition Racer needs DisableDivMatching 2018-07-12 19:41:02 +02:00
Flyinghead e18eaf666d Support for 2448-byte sectors
Pier Solar and the Great Architects CDI uses an unknown type 4 sector of
2448 bytes. This hack allows the CDI to be read. Not sure about the
correctness.
2018-07-12 11:10:11 +02:00
Flyinghead 87f8c5194f Better fix for texture cache key needing StrideSel
StrideSel and ScanOrder are no longer part of the texture cache key
since that breaks RTT texture matching. But they are updated at lookup
time so they will be used if the tex is updated later.
Fixes RTT-based xfade screens in Skies of Arcadia.
2018-07-11 22:08:10 +02:00
Flyinghead d5d711cf32 Clipping scissor fix: x offset must only be added once 2018-07-11 20:06:43 +02:00
barbudreadmon 8e7b6b72e1
(Naomi) Fix for "The Rumble Fish 2"
As confirmed by MettalliC, the correct value is 32KB
2018-07-11 18:14:12 +02:00
Flyinghead 527628d366 weird character again 2018-07-10 18:08:27 +02:00
Flyinghead 648988e622 don't log div32 matching and some GDRom ops 2018-07-10 14:36:28 +02:00
Flyinghead 92e16d436e PVR DMA: VRAM->System RAM transfer was handled the other way around 2018-07-10 12:07:35 +02:00
Flyinghead 1be4203ffe Far plane is at depth 0 in classic renderer. 2018-07-09 23:25:18 +02:00
Flyinghead c035635341 Clipping scissor Y coordinates must be inverted when rendering to screen
Fixes top of screen missing in San Francisco Rush 2049
2018-07-09 23:22:13 +02:00
Flyinghead 889f722e73 Fix PAL4 textures 2018-07-09 19:20:33 +02:00
Flyinghead 6df46b1d83 Enable Naomi eeprom reading and writing 2018-07-09 16:24:37 +02:00
Flyinghead 18b2d8273f Improve paletted and YUV texture quality.
Paletted textures using a 32-bit palette and YUV textures are now
converted to 8888 format, which results in a lossless conversion.
Fixes background texture quality in Alone in the Dark.
2018-07-09 14:59:53 +02:00
Stefanos Kornilios Mitsis Poiitidis 5525d5dde2 core: Android studio fixes
- Clang edge cases for shifts
- Avoid generating relocs by not using global symbols in ngen_arm.S (fixes #1109)
2018-07-09 09:31:45 +02:00
Greg V 5d69e19ed1 Build on FreeBSD (and potentially other BSD) 2018-07-08 15:43:10 +03:00
Stefanos Kornilios Mitsis Poiitidis 03170fc0ef
Merge pull request #1163 from reicast/lk/android-studio
Android Studio Conversion
2018-07-08 11:12:16 +02:00
Stefanos Kornilios Mitsis Poiitidis ae2b5e33b5 core.mk: Revert `-O0 -g` to `-O3` 2018-07-08 02:22:32 +02:00
Flyinghead a89ff1e432 Ignore depth func for autosort TR polys.
This was a remain of the previous Always depth hack.
2018-07-07 08:46:29 +02:00
Flyinghead 3cac9134ce Don't use the window title for debug info as it delays frames 2018-07-06 22:38:48 +02:00
Flyinghead e067534f26 When sorting translucent triangle, keep the third vertex in place.
In flat shading mode, the third vertex of a triangle defines its color
so we must maintain its index.
Fixes the remaining color polygons seen in Evolution - The World of
Sacred Device.
2018-07-06 20:02:43 +02:00
Flyinghead 0df91770d2 Increase dynarec code cache size to 10 MB
Fixes frequent code cache invalidation due to lack of space, which kills
performance (Extreme Sports)
2018-07-06 17:19:37 +02:00
Flyinghead 315205caa9 Add setting to disable div32 matching (Pro Pinball Trilogy)
div32 matching doesn't handle division by zero and edge cases, which
causes crashes with some games.
Setting enabled by default for Pro Pinball Trilogy.
2018-07-06 09:49:39 +02:00
Flyinghead 517c225c39 Better hack for TA data sent before ListInit.
Instead of ignoring TA data if ListInit hasn't been called, call
ListInit then accept the data. The data will still be probably ignored
but end of list interrupts are sent so game won't hang.
Fixes hang in King of Fighters New Wave (Naomi).
2018-07-05 19:57:30 +02:00
Flyinghead a1997637bb Trilinear filtering limited implementation.
Fixes lighter field areas in NFL 2K2
2018-07-03 20:36:13 +02:00
Flyinghead 3c4913a35a Merge remote-tracking branch 'upstream/master' 2018-07-03 15:46:25 +02:00
Flyinghead cbaaaaf970 Do not crash if data is sent to TA before calling ListInit, just ignore
it.

Fixes Conflict Zone - Modern War Strategy.
2018-07-03 15:24:48 +02:00
TwistedUmbrella 64656a6eb3 rec_x64: Avoid recipe for target failed error 2018-07-03 09:09:30 -04:00
TwistedUmbrella 295570a9f3 Android: resolve posix_memalign NDK inconsistency 2018-07-03 08:45:39 -04:00
Flyinghead e7d1688ae5 Round TA_ISP_BASE to 1 MB.
Some games do not align TA_ISP_BASE on 1 MB boundary so the rendering
context is not found at render time. Fixes black screen in NFL 2K2, NBA
2K2, Oooga Booga, Floigan Bros. and probably more Visual Concepts games.
Sadly Ooga Booga still crashes.
2018-07-03 14:22:44 +02:00
Flyinghead 69263eddc0 Bump mapping support 2018-07-02 15:23:47 +02:00
Flyinghead 99af84d7fb Background plane should be fogged as well. Fixes purple sky in Dragon's
Blood/Draconus.
2018-07-02 10:22:26 +02:00
Flyinghead 295395c680 Flat shading support 2018-07-01 20:25:06 +02:00
Stefanos Kornilios Mitsis Poiitidis f45f888d0b Use platform specific first argument register 2018-07-01 12:15:59 +02:00
Flyinghead 18c59c1166 Fix read_frame/dump_frame for now missing autosort param 2018-06-30 13:51:03 +02:00
Flyinghead 3ddcc272bf Fix autosort/presort mode selection. Per render pass sort mode.
The previous algorithm to determine the sort mode for TR polys was
faulty. And the sort mode can vary between passes for multipass
rendering. This also removes the need for the hack to support Always
depth mode with autosorted TR polys. Should fix the Resident Evil 3 menu
problem.
2018-06-30 12:33:11 +02:00
Flyinghead 7ecd384612 StrideSel is now part of the texture cache and must be set by RTT 2018-06-29 19:03:43 +02:00
Flyinghead d980f505ad Fully revert f571d6c594
Fixes NAOMI bios flickering
2018-06-29 17:16:39 +02:00
Flyinghead a52654e2de Added some game ids to per-game settings 2018-06-29 17:10:35 +02:00
Flyinghead 17a34c079c Backported EG hack. Courtesy of libretro.
See 13dacb0021
2018-06-29 17:04:07 +02:00
Stefanos Kornilios Mitsis Poiitidis ad05c35a7e Implement CheckBlock for x64 2018-06-29 15:19:49 +02:00
Stefanos Kornilios Mitsis Poiitidis c52165adbd Update XBYAK to 71b75f653f3858403eb33d48f6346eef34b837fe 2018-06-29 15:18:57 +02:00
Flyinghead f18aa63a67 Add stride and scan order to texture cache key as they are used to update the texture
Fixes glitchy FMV title screen in Bomberman Online
2018-06-29 11:59:48 +02:00
Flyinghead a94f01ee78 Force autosort TR triangles using depth func Always to be drawn on top of others
When autosorting triangles, ignore the depth of triangles using the depth func Always and force
them to be on top. Seems to help Psyvariar 2.
2018-06-28 13:21:40 +02:00
Flyinghead 6871061ca0 Modifier Volumes: summing up with triangles is faster than using a quad. 2018-06-26 15:38:55 +02:00
Flyinghead 7c93727b5e Improve modifier volume parsing and drawing logic.
Parse modifier volumes similarily to other polys (first, count, params).
Draw all triangles in one shot and use quad to sum up instead of
redrawing entire strip. Use OR operation for open volumes/quads
(Soulcalibur).
2018-06-26 14:45:58 +02:00
TwistedUmbrella bf62cb8bd1 Prevent overriding Android setting w/ config.ini 2018-06-25 12:04:26 -04:00
TwistedUmbrella 571b68d468 Fix building Windows alongside Android Studio
Windows: resolve missing reference to _SC_OPEN_MAX

https://lists.gnu.org/archive/html/bug-gnulib/2014-08/msg00023.html
https://libwebsockets.org/lws-api-doc-master/html/libwebsockets_8h_source.html

Windows: comment duplicate x86_ptr_imm definition

Replaced by more explicit type definitions. Fixes x64 compile

Restore secondary x86_ptr_imm for non-Windows

This appears to be a necessary duplicate for other platforms.
2018-06-25 12:04:14 -04:00
Stefanos Kornilios Mitsis Poiitidis 563052a2e8 Really force -fPIC everywhere 2018-06-25 12:04:14 -04:00
Stefanos Kornilios Mitsis Poiitidis 86593d82e7 Add fpic option, remove ndk build stuff 2018-06-25 12:04:13 -04:00
Stefanos Kornilios Mitsis Poiitidis 1933aff8a2 First steps for android studio builds 2018-06-25 12:04:07 -04:00
Flyinghead 846d02d9d2 Optimize RTT to VRAM. Add US version of THPS2 to per-game settings. 2018-06-25 16:55:22 +02:00
TwistedUmbrella e6afd22f98
Merge pull request #1191 from baka0815/gdi_skipws
GDI: Reset skipws-flag
2018-06-25 10:33:34 -04:00
Flyinghead 3256e02813 Workaround for Virtua Tennis ball color problem.
There's a texture corruption of the tennis ball and other textures,
notably the players' bags in the first intro sequence. The corruption is
due to render to texture squashing existing textures. Not sure what's
going on but this avoids the texture corruption. The original problem
remains.
2018-06-25 15:53:28 +02:00
git@baka0815.de 852d644a5f GDI: Explicitly set skipws-flag
It's not neccesarry to set it every iteration, so just set it before and reset it afterwards.
2018-06-25 09:14:51 +02:00
Christoph "baka0815" Schwerdtfeger 41ee5707a8 GDI: Reset skipws-flag 2018-06-24 14:30:46 +02:00
barbudreadmon 2e8a87cbdf
Allow loading of lst files (Naomi support #1188) 2018-06-21 19:24:05 +02:00
TwistedUmbrella 75189f0a78
Merge pull request #1180 from baka0815/unused_code
Removed unused code in core/linux-dist/main.cpp
2018-06-14 15:52:23 -04:00
Christoph "baka0815" Schwerdtfeger 3d43505504 Allow for custom <device>.cfg files in the /mappings/ directory.
Check if a configuration file named exactly like the device exists in the /mappings/ directory.
If it does, use this instead of the generic one.

Expose file_exists() from stdclass.
2018-06-13 19:33:51 +02:00
Christoph "baka0815" Schwerdtfeger 2e4cf087bd Refactored and fixed X11 buttons.
Replaced magic number with X11 constants.
Added keys for left and right shoulder buttons.
Added key for (missing) Y button.
Moved the debug printf() where it belongs.
2018-06-13 19:24:48 +02:00
Christoph "baka0815" Schwerdtfeger 8309eb7d6a Added most important X11-keys as constants. 2018-06-13 19:23:20 +02:00
Christoph "baka0815" Schwerdtfeger e6854ef87d Removed unused code in core/linux-dist/main.cpp
This is a leftover from #964
2018-06-13 19:17:20 +02:00
Flyinghead 08b8d30589 Implement clipping. Enabled by default. 2018-06-09 18:11:47 +02:00
Stefanos Kornilios Mitsis Poiitidis d0cd5a5f64
Merge pull request #1152 from flyinghead/fh/modvols
Enable modifier volumes. Fix for exclusion volumes.
2018-06-09 17:52:51 +02:00
Flyinghead 7640a35720 Draw modifier volumes only if enabled in settings (defaults to true) 2018-06-09 17:22:01 +02:00
Flyinghead 1f95eb243c Fix video choppiness 2018-06-07 19:06:16 +02:00
Flyinghead 2fdcf0d821 Use float constants in GLSL 2018-06-07 18:26:02 +02:00
Flyinghead e1a86b4e0a Fix SW1-JPB random texture corruption problem and video choppiness. 2018-06-07 17:19:49 +02:00
Flyinghead b9fe9332cf GLES 2 fix for fog table: use float only for vars and consts 2018-06-05 13:36:49 +02:00
Flyinghead 49e172b169 Push more silence on audio underrun to catch up 2018-06-05 12:18:42 +02:00
Flyinghead 828990b926 Texture based fog table 2018-06-05 12:18:09 +02:00
Flyinghead a345fcc4c7 Draw modifier volumes after punch-through so they can be shadowed as
well.
2018-05-23 14:31:11 +02:00
Flyinghead 2f9dcfabd8 Use FPU_SHAD_SCALE.scale_factor for shadow intensity instead of
hardcoded value.
2018-05-23 12:26:24 +02:00
Flyinghead 488b9ab831 Add TA_GLOB_TILE_CLIP struct. Fix typo. 2018-05-23 12:05:58 +02:00
Flyinghead bccfb5b70c Faster implementation for translucent polys depth pass. Disabled by
default. Auto-enabled for Cosmic Smash.
2018-05-22 15:47:02 +02:00
Flyinghead 23a2af0a28 Add setting for THPS2. Move RenderToTextureBuffer option to rend
section.
2018-05-22 15:34:33 +02:00
Flyinghead 0f6249fdcf Backport libretro per-game-settings logic 2018-05-22 15:20:37 +02:00
Flyinghead c8034807bb dump_frame/read_frame: save/load pvr registers 2018-05-22 13:23:07 +02:00
Flyinghead 4c7ffeb520 Per-pixel fog shading. Shaders cleanup. 2018-05-22 13:04:21 +02:00
Flyinghead 8d01bbe145 Increase Z scaling factor to 100k (fixes background menu in VR2). Set
depth mask before clearing buffers.
2018-05-21 16:44:18 +02:00
Flyinghead 9098fd5a22 Autosort poly: Write to the depth buffer in a second pass, and only if
multipass rendering.
2018-05-20 21:41:31 +02:00
Flyinghead 2d904372a9 Multipass issues: depth mask must be enabled for autosorted tr poly.
Depth buffer must NOT be cleared b/w passes, same for stencil I guess.
2018-05-20 14:16:43 +02:00
Flyinghead 9e994fecaa Avoid array overflow if more than 10 render passes 2018-05-19 18:57:16 +02:00
Flyinghead c35aa4262c Fix OpenGL errors with modvols and multipass 2018-05-19 18:51:30 +02:00
Flyinghead c427997269 Enable modifier volumes. Fix for exclusion volumes. Prevent overflow of modifier triangles (JGR). 2018-05-19 10:13:00 +02:00
Flyinghead 6e64fe90fc Reverting c3a90a63a1 as well as the
autosort hack, which was certainly a consequence. Fixes texture
corruptions.
2018-05-18 21:35:51 +02:00
Flyinghead d596f988c8 Revert 99bc20220e 2018-05-17 11:17:51 +02:00
Flyinghead 99bc20220e Simplify clipping 2018-05-17 10:32:52 +02:00
Flyinghead 80c193b3de Cache texture parameters. Fixed exclusion volume modifiers. 2018-05-16 19:34:45 +02:00
Flyinghead e73d11d0ab glHint nicest->fastest, and just once 2018-05-15 22:37:40 +02:00
Flyinghead b469f05b9d Fix wrong fog calculation issue 2018-05-15 21:19:58 +02:00
Flyinghead d8165376be GL cache fix 2018-05-15 16:09:50 +02:00
Flyinghead de046c4620 Use OpenGL state cache. Allocate texture ids in bulk. Avoid modifier
volumes entirely when not needed.
2018-05-15 15:22:26 +02:00
Flyinghead 2d834c7396 Revert glChecks 2018-05-15 11:54:14 +02:00
Flyinghead 833a616122 Merge OSX fixes 2018-05-15 11:41:44 +02:00
Flyinghead 46b40ad043 OSX: enable exceptions for vmem 2018-05-15 11:14:48 +02:00
Flyinghead 0a8348b6df Use CSYM() in assembler code 2018-05-15 11:13:42 +02:00
Flyinghead 34eae365f7 bad character? 2018-05-14 23:16:11 +02:00
Flyinghead c36e2731d7 read_frame fix 2018-05-14 22:38:22 +02:00
Flyinghead 4aee2eb5fe Increase gdrom dma buffer size to 8192 sectors 2018-05-14 19:37:33 +02:00
Flyinghead 2564c57cd2 Merge branch 'master' of https://github.com/flyinghead/reicast-emulator 2018-05-14 16:14:35 +02:00
Flyinghead b30f715796 Fix paletted textures mismatch in texture cache 2018-05-14 16:14:15 +02:00
Flyinghead 699c2986a5 WIP 2018-05-14 12:48:22 +02:00
Flyinghead ae49c19cea osx: cpu x86. glViewport now doing in RenderFrame 2018-05-14 09:31:03 +02:00
Flyinghead 46f28cfb27 Fog fix 2018-05-13 23:07:35 +02:00
Flyinghead 95120690ef Use log2 depth scaling when opengl 3 is available 2018-05-13 20:19:36 +02:00
Flyinghead 688ba5c37d Fix autosort translucent poly bug (rayman). probably still not right... 2018-05-13 16:48:09 +02:00
Flyinghead b68f0a16a8 Increase FPS font size 2018-05-13 16:45:20 +02:00
Flyinghead c30548eb6a Added on-screen FPS counter. Fix clear screen issue when widescreen
enabled but not currently on.
2018-05-13 16:01:08 +02:00
Flyinghead 50a2e7e842 Revert dd9f77b4ab0b4c66fe7a2a717ed4b8cc1835e343: no gl_FragDepth in GLES 2 :( 2018-05-12 14:39:06 +02:00
Flyinghead dd9f77b4ab Changed z normalization to log scale 2018-05-12 13:26:50 +02:00
Flyinghead 717ee0b3ce Make rendering to texture buffer optional 2018-05-11 19:33:17 +02:00
Flyinghead b02eccd5c7 Fix performance problem with RTT waiting 2018-05-11 19:08:54 +02:00
Flyinghead 43c125c208 Better texture cache: avoid duplicate. Attempt to put the RTT texture in
the cache to avoid copy to/from vram.
2018-05-11 15:29:24 +02:00
Flyinghead 683cbbba3e Multipass rendering 2018-05-10 21:28:20 +02:00
Flyinghead 0f92189585 Fix translucent triangles not being autosorted(?) 2018-05-10 13:02:57 +02:00
Flyinghead b77843b927 Handle RTT texture stride (VT) 2018-05-09 15:08:13 +02:00
Flyinghead 136c3d6825 When rendering to texture, wait until after the frame is rendered to
unlock.
2018-05-09 14:46:06 +02:00
Flyinghead c13a42611b Implemented other RTT format conversions. 2018-05-09 13:04:48 +02:00
Flyinghead 5710aa08ed Remove all vram locks before reading back RTT buffer. Use RGBA/ubyte
format when RGB/565 is not available.
2018-05-09 12:28:38 +02:00
Flyinghead 2e4ec3a1ed Added RTT support 2018-05-08 18:47:00 +02:00
Flyinghead 9f13ded502 Enable Modifier Volumes. Fix modtrig buffer overflow and stencil reset. 2018-05-04 18:18:04 +02:00
Flyinghead cc88561d4a Implemented clipping (Daytona USA menus) 2018-05-02 15:41:42 +02:00
Flyinghead db0534d5dd Fix PunchThrough texturing on JGR with nvidia 2018-05-02 12:29:47 +02:00
Flyinghead fe71519d1b Write some silence on audio underruns 2018-05-01 17:25:42 +00:00
Flyinghead 5320c3adee Fixed previous screw up 2018-05-01 11:20:25 +02:00
Flyinghead a953a0baa7 Use ring buffer for samples and detect buffer underruns 2018-04-29 17:56:01 +02:00
Flyinghead 39e0f378cb OSX: add x64 target. Use JIT compiler. Clean exit. Use semaphore in core audio driver. Use layout-independent key codes to support int'l keyboards. Fixed GL window scaling. 2018-04-29 16:07:54 +02:00
Flyinghead 64a8ac1dd5 Add clean exit patch for x11 and 64-bit architecture 2018-04-27 16:54:15 +02:00
Flyinghead 35d3bd98d4 Disable fog table logging. Small optimization 2018-04-27 10:58:10 +00:00
Flyinghead b8f3d37df2 Disabled some logging (Mr.Driller) 2018-04-27 10:50:21 +00:00
Flyinghead 94aa7c9e83 Fix alsa backend clicking noise on underrun. Set the buffer size to match the [omx] audio_latency setting 2018-04-27 10:49:23 +00:00
Flyinghead 10bdf7f449 Clean exit when exit key is pressed 2018-04-27 10:37:56 +00:00
rrrh bcdf38da0a
Merge pull request #1130 from reicast/rrrh/osx-high-sierra
Rrrh/osx high sierra
2018-04-21 19:26:27 +02:00
Hugo Hackenstein d653d4e009 Remove unneeded stdlib include 2018-04-21 19:01:24 +02:00
Hugo Hackenstein 4fcb95a0d1 Mac compile on OSX - Remove deprecated malloc.h include and switch to stdlib.h instead 2018-04-21 19:00:36 +02:00
Stefanos Kornilios Mitsis Poiitidis 34b495baa7
Merge pull request #1098 from reicast/pr/1092
fix gdi track parsing in unix #1092
2018-04-19 20:51:13 +02:00
Stefanos Kornilios Mitsis Poiitidis 90e901f4a3 gdi: Normalize paths, add test gdi files 2018-04-18 22:28:05 +02:00
gizmo98 4a7d0b9e7e rpi: add option to use mesa or new vendor gl libs 2018-04-11 21:42:57 +02:00
gizmo98 b09356f3f7 Fix GCC6 "Bool" issue 2018-04-11 21:37:31 +02:00
Stefan 8c967b0591
Merge pull request #1 from OrN/rpi2-stuff
omx audio backend, and dispmanx window
2018-04-11 21:33:45 +02:00
Stefanos Kornilios Mitsis Poiitidis 4300951b51 gdi: Cleanup path code, use C++ strings 2018-04-11 11:40:15 +02:00
Stefanos Kornilios Mitsis Poiitidis fe30e58504 tactx: Actually use aligned alloc functions 2018-04-11 11:06:46 +02:00
Stefanos Kornilios Mitsis Poiitidis 894e9f1414 Cleanup changes for merge with master 2018-04-09 21:11:06 +02:00
hissingshark d1bac19a0a
Fixed blunder and changed OS test. 2018-04-05 16:58:23 +01:00
hissingshark dec5c7bdd2 Added helper functions for aligned memory (de)allocation 2018-04-05 12:13:49 +01:00
hissingshark 3ab9c22516
Fix issue from PR #1023 2018-04-03 17:38:30 +01:00
TwistedUmbrella fb418d568c Don't skip whitespace when reading filename
https://stackoverflow.com/a/6774866
2018-04-02 03:51:38 -04:00
TwistedUmbrella 052c5c1cb3 Fix for Windows missing definition of ssize_t 2018-04-02 02:54:30 -04:00
Stefanos Kornilios Mitsis Poiitidis c832df6d62
Merge pull request #1078 from nadenislamarre/nae_get_entry
cfg/get_entry: Validate that virtual section has virtual key before using it
2018-03-27 23:01:26 +02:00
i30817 3fdd7f50ea
fix gdi track parsing in unixx
Same problem as https://github.com/libretro/reicast-emulator/pull/24

in unix that iteration would not work if the path of the original .gdi file (where we are finding the 'parent directory') was:

1. not existent, ie a gdi on the same directory as the current. It was iterating until the index 3 and stop there. Disaster strikes later ofc, if the first characters weren't C:\ or other thing like that.
2. in a relative subdirectory that is 'small enough' ie: a/crazy-taxi.gdi. In this case the last '/' wouldn't be found, the derived string would be 'crazy-taxi.gdi' and the file not found ofc.

Anyway, this can be solved simply by searching the whole string and using a signed integer. It will go up to -1, stop iteration and increase to 0 on the len++.

Dunno if using relative subdirectories for the tracks on *other* platforms works because of the path separator being different from what's inside the gdi but with this code fixed it works on linux with / at least.
2018-03-25 18:53:18 +01:00
TwistedUmbrella 045ab285ca
Merge pull request #1068 from promi/fix-evdev_mapping
Fix #1051
2018-03-09 12:35:06 -05:00
Nicolas HOUDELOT 5c343a219c fix typo 2018-03-05 01:57:00 +01:00
Nicolas Adenis-Lamarre 8ba58a3d9d configuration parsing: get_entry must not look into virtual sections only
in emu.cfg, when i set rend.WideScreen = 1, its not read.
has_entry and get_entry doesn't use the same check,
thus while has_entry can return true, get_entry can not return the entry.

Signed-off-by: Nicolas Adenis-Lamarre <nicolas.adenis.lamarre@gmail.com>
2018-02-13 23:20:23 +01:00
Promi 5615694ea0 Fix #1051 2017-12-09 15:51:57 +01:00
TwistedUmbrella c80dbb1629 Create Xcode external build system for zlib 2017-06-17 09:18:27 -04:00
TwistedUmbrella 158eef7883 Remove fp.h leftovers after limping update 2017-06-04 13:38:56 -04:00
Stefanos Kornilios Mitsis Poiitidis 6ae93b31d1 ta: use 256-bit struct 2017-05-16 13:33:37 +02:00
Stefanos Kornilios Mitsis Poiitidis 8e3b9b434c Cleanup/optimize ta_thd_data32_i
- Use 128-byte copies
- read pcw from memory
2017-05-16 12:38:00 +02:00
verybadsoldier 7d49b2212d alsa-backend: initialize variable "sub unit dir". This variable is passed into alsa as a pointer. Alsa will write to it but also read (!) from it. So the read will give undesired behavior when variable is not initialized. Depending on current alsa-config/hardware it leads to an error "Invalid argument" when submitting the parameters by invoking "snd_pcm_hw_params" a few lines later.
Initializing the variable to -1 fixes it and means "set to exact value or less" (http://alsa.opensrc.org/HowTo_Asynchronous_Playback)
2016-10-18 22:31:31 +02:00
Jan Holthuis b7fa676546 linux-dist/evdev: Use std::Map.find() instead of operator[]
Since EvdevControllerMapping does not have a default constructor,
we can't use the operator[];

    data_type& operator[](const key_type& k) - Returns a reference to
    the object that is associated with a particular key. If the map
    does not already contain such an object, operator[] inserts the
    default object data_type().

Instead, we use the std::map.find() function.

This should resolve #971.
2016-09-23 12:54:27 +02:00
Preston Smith 6f1fa1ab08 omx audio backend, and dispmanx window 2016-09-21 17:21:13 -05:00
Stefanos Kornilios Mitsis Poiitidis e5d8851316 Merge pull request #964 from Holzhaus/linux-rumble-support
Linux rumble support
2016-09-20 13:49:13 +02:00
Stefanos Kornilios Mitsis Poiitidis 42e6a62fac Merge pull request #877 from KrossX/purupuru
X360 controller support for Windows + Rumble
2016-09-17 22:26:46 +02:00
Jan Holthuis fdc3de7870 Port right motor adjustment to linux version
This adapts KrossX' commit c37c5c42e4 so
that we can use it in the linux version, too.
2016-09-13 14:54:29 +02:00
Stefanos Kornilios Mitsis Poiitidis 88c6bb6293 Merge pull request #905 from reicast/holzhaus/buffer-overflows
Fix some buffer overflows
2016-09-12 22:23:24 +02:00
Stefanos Kornilios Mitsis Poiitidis 3ed70a26fb Merge pull request #914 from ghost/issue-883
Update softrend.cpp
2016-09-12 22:19:39 +02:00
Twinaphex a5b7011c57 Merge pull request #929 from Hyell/master
Multiplayers with configuration file
2016-05-15 14:48:40 +02:00
Twinaphex 3cb39268a9 Merge pull request #926 from reicast/ftrc-fix
ftrc fix - revert back to nulldc defaults
2016-05-14 04:44:24 +02:00
Stefanos Kornilios Mitsis Poiitidis 7c5e49a6d2 dyna: Fix f2i canonical + x86 to saturate 2016-05-14 04:15:16 +03:00
twinaphex b606593774 ftrc fix - revert back to nulldc defaults 2016-05-13 14:44:53 +02:00
twinaphex ccfb6b635a Delete spurious code - fixes sprite palette issue with games like
Street Fighter III 3rd Strike/Capcom Vs SNk 2, possibly others
2016-05-13 14:37:47 +02:00
Hyell 469dda0e57 Update maple_cfg.cpp
Add players.nb option in emu.cfg. You can add 1-4 SegaController.
2016-04-26 17:06:45 +02:00
Hyell 6c49f0a852 Update maple_cfg.cpp 2016-04-25 12:10:12 +02:00
pvezien e093f679a8 Update softrend.cpp 2016-04-13 09:20:33 +12:00
Jan Holthuis 52afec6f7d Merge pull request #832 from reicast/holzhaus/sdl-opengl
Move to SDL2 for OpenGL 3.1 and GLES support
2016-03-04 15:13:25 +01:00
Jan Holthuis ef1994549b webui/server.cpp: Fix buffer overflow in callback_http() 2016-02-22 18:55:34 +01:00
Jan Holthuis 1868f1e91f imgread/gdi.cpp: Fix buffer overflow in load_gdi() 2016-02-22 18:55:34 +01:00
Jan Holthuis b106efde5f imgread/common.cpp: Add buffer size checks in case buffer size are changed later 2016-02-22 18:55:33 +01:00
Jan Holthuis 1a809fc60e hw/naomi/naomi_cart.cpp: Fix 3 buffer overflows in naomi_cart_LoadRom() 2016-02-22 18:55:33 +01:00
Jan Holthuis 9e937957f7 hw/flashrom/flashrom.h: Fix buffer overflow in MemChip::Load() 2016-02-22 18:55:33 +01:00
Jan Holthuis 5638b872ac cfg/ini.cpp: Fix buffer overflow in ConfigFile::parse() 2016-02-22 18:55:33 +01:00
Jan Holthuis 2866c879ac cfg/cfg.cpp: Mark possible buffer overflow 2016-02-22 18:31:36 +01:00
Phil Eichinger dde4647e55 Fix the check for the enviroment variable
I tried running reicast and it immediately died with:

terminate called after throwing an instance of 'std::logic_error'
  what():  basic_string::_S_construct null not valid
Aborted

I was missing the environment variable XDG_CONFIG_DIRS

Turns out find_system_config_dirs() checked for the existence of
XDG_DATA_DIRS but then tried to use XDG_CONFIG_DIRS (non-existent in my
case).

fixes #847
2016-01-30 10:29:36 +01:00
KrossX d4d782c71c Remove unused lines. 2016-01-22 15:08:29 -03:00
Jan Holthuis 6b1a02e971 Merge remote-tracking branch 'krossx/purupuru' into linux-rumble-support 2016-01-22 14:39:18 +01:00
KrossX c37c5c42e4 Right motor adjustment 2015-12-17 22:10:55 -03:00
Stefanos Kornilios Mitsis Poiitidis ad7e23d849 Merge pull request #846 from reicast/feat/ta-hash-logs
rend/if: Logging/verification of MD5(ta command list data)
2015-12-14 04:15:37 +01:00
Stefanos Kornilios Mitsis Poiitidis f868fc0655 Merge pull request #841 from reicast/wip/osx-ios-sound
apple: Add primitive core audio support
2015-12-14 04:06:01 +01:00
Stefanos Kornilios Mitsis Poiitidis 6c3c726019 softrend: Fix windows build 2015-12-14 03:11:40 +01:00
Stefanos Kornilios Mitsis Poiitidis af01baae75 linux/softrend: Optional via makefile, sse4.1 detection 2015-12-14 02:40:23 +01:00
Jan Holthuis cc5719e845 Linux/evdev: Add Force Feedback/Rumble support 2015-12-14 01:09:03 +01:00
Stefanos Kornilios Mitsis Poiitidis f3e4416bb4 linux/softrend: Cleanup accidental file changes 2015-12-13 14:08:16 +01:00
Stefanos Kornilios Mitsis Poiitidis 62018cf203 linux/softrend: Fix porting bugs, hackplement X11 drawing
- Fix RECT fields oder (initialized via {} on the code)
- Initialize shuffle_alpha (duh ...)
- X11 Image drawing (hacky, depends on internal X11 details)
- Untwidle code w/ optional flipping (X11 doesn't use inverted bitmaps)
- rgba shuffling (not needed yet, but left for documentation)
2015-12-13 14:00:25 +01:00
Stefanos Kornilios Mitsis Poiitidis 5e377399d3 linux/softrend: builds & runs, doesn't push to screen yet 2015-12-13 14:00:25 +01:00
KrossX c42986e63f Unplug PuruPuru Pack
Ooops.
2015-12-07 21:30:07 -03:00
KrossX 832eeeb419 Might help compilation in other platforms
I cannot verify it though.
2015-12-07 21:27:19 -03:00
KrossX b59ca13cfe Implemented PuruPuru device
Includes a simple XInput implementation for Windows.
2015-12-07 21:21:03 -03:00
KrossX b566092d28 Basic XInput support for Windows
Adds simple X360 controller support for Windows.
2015-12-07 20:09:15 -03:00
Jan Holthuis 20d43fb04e SDL: Remove some unused variables 2015-10-11 18:41:23 +02:00
Jan Holthuis 098e208a57 SDL: Drop SDL1.2 support and use SDL2 for GLES, too 2015-10-11 18:41:23 +02:00
Jan Holthuis b38813ca34 SDL: Add OpenGL3/SDL2 support 2015-10-11 18:41:23 +02:00
Stefanos Kornilios Mitsis Poiitidis 7d951b7697 rend/if: Logging/verification of MD5(ta command list data)
This allows for some very primitive auto-automated testing, by comparing known good frames.
As this happens on the TA level, it doesn't actually require rendering (and thus it's server friendly)

Two new config entries under the new [testing] namespace control behavior
- ta.HashLogFile, file where data should be logged, empty if not logging
- ta.HashCheckFile, past log to check against, empty if not checking

The emu will crash via verify if the logs don't match, and exit(1) if they do
2015-10-05 23:49:12 +02:00
Stefanos Kornilios Mitsis Poiitidis d85e4d8dff sh4/mmu: Don't use exceptions when disabled 2015-09-29 03:17:26 +02:00
Stefanos Kornilios Mitsis Poiitidis d99c803a0c sh4/mmu: Typo fixes, less log spam 2015-09-29 03:11:28 +02:00
Stefanos Kornilios Mitsis Poiitidis 4a060b5635 sh4/mmu: C++ exception based sh4 exception support. Won't run wince yet.
- Rewrite mem ops to only modify regs after exception path
- Throw & catch logic for interpreter that raises the exception
- Re-enabled some commented mmu code
2015-09-29 03:11:28 +02:00
Stefanos Kornilios Mitsis Poiitidis 4282395528 apple: Add primitive core audio support
Also made the project xcode 7 friendly
2015-09-29 03:10:19 +02:00
Stefanos Kornilios Mitsis Poiitidis 543e355259 Merge pull request #826 from reicast/holzhaus/merge-sdl-into-linux-dist
SDL: Merge sdl/ code into linux-dist/ code
2015-09-23 11:42:46 +02:00
Stefanos Kornilios Mitsis Poiitidis 1dbc0d73df nixprof: Fix printf, PRI & friends don't exist on android 2015-09-17 01:06:47 +02:00
Jan Holthuis 76dfeae55c SDL: Remove redundant sdl/ code 2015-09-12 16:31:32 +02:00
Stefanos Kornilios Mitsis Poiitidis 56f8ffac0e Merge pull request #807 from randomstuff/nixprof
Nixprof: some enchancements
2015-09-04 19:55:19 +02:00
Gabriel Corona 2a469b1def nixprof: fix notation for Hz 2015-09-03 21:08:39 +02:00
Gabriel Corona 8fc2d5d069 nixprof: only save STT_FUNC 2015-09-03 21:08:35 +02:00
Gabriel Corona ceca8c72bf nixprof: make it work with ELF64 2015-09-03 21:08:29 +02:00
Gabriel Corona c87307162d nixprof: Use sh_type insteaf of sh_name for section identification and use SHT_SYMTAB 2015-09-03 21:08:24 +02:00
Gabriel Corona a34a4d6f38 libelf: get section link for ELF64 2015-09-03 21:08:20 +02:00
Gabriel Corona ad068dcff2 Bind profiling in X11 to F10 2015-09-03 21:08:13 +02:00
Jan Holthuis e9beb86069 Merge pull request #798 from reicast/holzhaus/linux-use-xdg-config-home
Introduce separate config/data dirs (user & system wide)
2015-09-02 16:14:50 +02:00
Jan Holthuis 4267d51f90 stdclass: Make path getter function names more verbose 2015-09-02 15:49:00 +02:00
Jan Holthuis 4bd5154c9f stdclass: Use access to check if file is readable 2015-09-02 15:49:00 +02:00
Jan Holthuis 5f6480e983 linux-dist: Also add /etc/reicast as system config dir 2015-09-02 15:48:59 +02:00
Jan Holthuis b6d0cddcaa stdclass: Add support for separate config/data dirs and system wide dirs
This adds support for separate config and data dirs.

On Linux, these will be compliant XDG Basedir Specification, i.e.
XDG_CONFIG_HOME and XDG_CONFIG_DIRS (or XDG_DATA_HOME and XDG_DATA_DIRS
respectively). On all other platforms, there currently just set to the
homedir path (so no previous behaviour has been changed).

If reicast wants to read and write a data file, it just calls
get_data_path("/samplefile.txt"). If it does not need to write to
that file, it just uses get_data_path("/samplefile.txt", false). That
way, we can also use system-wide dirs (like /usr/share/reicast on
linux), that the user usually doesn't have write access to.

The same applies for config file, where you use get_config_path(args)
respectively.
2015-09-02 15:48:53 +02:00
Stefanos Kornilios Mitsis Poiitidis 3e76175c7a Merge pull request #818 from reicast/feat/import-nulldc-mmu
sh4/mmu: Import the old mmu implementation from nullDC.
2015-09-02 04:46:31 +02:00
Jan Holthuis c24a5faf5b Linux: Use $XDG_CONFIG_HOME if possible
This coommit makes reicast use $XDG_CONFIG_HOME from XDG Base Directory
Specification[1] if possible.

For backwards-compatability with older installations, it checks if the
old-style config directory at $HOME/.reicast exists. If so, it'll use
that instead.

All new installation should use $XDG_CONFIG_HOME/reicast (or if
that environment variable is not set: $HOME/.config/reicast).

[1] http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
2015-08-29 01:05:39 +02:00
Gabriel Corona 4ad6db345b nixprof: make private stuff static 2015-08-28 18:26:41 +02:00
Stefanos Kornilios Mitsis Poiitidis dcd77326cc sh4/mmu: Import the old mmu implementation from nullDC.
Reicast doesn't support exceptions yet, so this isn't of much use now,
and is intended mostly as documentation. nullDC used some call stack
hooking magic to handle exceptions, which was never generic and clean
enough to be worth the effort to port to Reicast.
2015-08-27 17:05:06 +02:00
Stefanos Kornilios Mitsis Poiitidis 78f4890535 Merge pull request #791 from sergiobenrocha2/libpng16
Update libpng to 1.6.18.
2015-08-28 13:50:58 +02:00
Jan Holthuis def93ca4be linux/x11: Map X11 ESC key to exit emulator 2015-08-28 04:06:36 +02:00
Jan Holthuis 62029a40b1 linux-dist/joystick: Disable legacy joystick API by default 2015-08-26 01:34:49 +02:00
Jan Holthuis 25b8bb5f29 linux-dist/evdev: Move *_inverted in mappings to compat section 2015-08-26 01:11:16 +02:00
Jan Holthuis 7eab958472 linux-dist/evdev: Print error msg if unable to open mapping file 2015-08-25 21:45:39 +02:00
Jan Holthuis c97727984d linux-dist/evdev: Add absolute mapping file path support 2015-08-25 21:45:39 +02:00
Jan Holthuis e3b796e812 linux-dist/evdev: Always show Keycode names if possible 2015-08-25 21:45:38 +02:00
Jan Holthuis b12f1fa199 linux-dist/evdev: Remove unecessary newlines 2015-08-25 21:45:38 +02:00
Jan Holthuis 785b819cb9 linux-dist/evdev: Introduce a more consistens button naming scheme 2015-08-25 21:45:38 +02:00
Jan Holthuis ceb2a11441 linux-dist/evdev: Clean up namespace a bit 2015-08-25 21:45:38 +02:00
Jan Holthuis 7018ca42c4 linux-dist/evdev: Make controller axes invertable 2015-08-25 21:45:37 +02:00
Jan Holthuis 72778bdf39 linux-dist/evdev: Replace evdev_keycodes.cpp/.h with dynamic libevdev call 2015-08-25 21:45:37 +02:00
Jan Holthuis e4e7e092c2 linux-dist/evdev: Add controller axis value autoconversion 2015-08-25 21:45:37 +02:00
Jan Holthuis 528cd5a793 linux-dist: Drop hardcoded mappings in favor of mapping files 2015-08-25 21:45:32 +02:00
Jan Holthuis 5c01098cab linux-dist/evdev: Support custom mapping files 2015-08-25 21:38:18 +02:00
Stefanos Kornilios Mitsis Poiitidis 3eee909801 Merge pull request #767 from reicast/holzhaus/reimplement-cfg-ini-with-maps
cfg: Reimplement ConfigFile using C++ maps and strings
2015-08-25 20:12:12 +02:00
Stefanos Kornilios Mitsis Poiitidis 6b12ffc6b7 Merge pull request #783 from reicast/holzhaus/remove-unneeded-code
linux-dist: Remove unused code
2015-08-25 19:41:39 +02:00
Jan Holthuis d0c639eb7c cfg/cfg: Also call savecfgf() on cfgSaveInt 2015-08-24 14:48:01 +02:00
Jan Holthuis 42977f8284 cfg/cfg: Fix a nix (add brackets) 2015-08-24 14:46:45 +02:00
Jan Holthuis f56299209d cfg/cfg: Only save config file if has been read or newly created 2015-08-24 14:45:52 +02:00
Stefanos Kornilios Mitsis Poiitidis aa7aa18cab cfg: Create emu.cfg if missing 2015-08-24 14:05:51 +02:00
Stefanos Kornilios Mitsis Poiitidis 2e28e57be8 cfg/ini: Handle empty ini files 2015-08-24 14:04:23 +02:00
Stefanos Kornilios Mitsis Poiitidis 9058d48d51 Merge pull request #804 from reicast/fix/update-xbyak-4860
Fix/update xbyak 4860
2015-08-24 13:54:50 +02:00
Jan Holthuis 99d75220e7 cfg/cfg: Don't save the config immediately after opening. 2015-08-24 13:52:04 +02:00
Jan Holthuis 719850a349 cfg/ini: Use stricmp for get_bool() 2015-08-24 13:52:02 +02:00
Jan Holthuis 42f7919c48 cfg: Add virtual entry support 2015-08-24 13:52:01 +02:00
Jan Holthuis 89e4bf78cc cfg: Fix nit 2015-08-24 13:51:59 +02:00
Jan Holthuis 7a5c90ccca cfg: Reimplement ConfigFile using C++ maps and strings 2015-08-24 13:51:57 +02:00
Stefanos Kornilios Mitsis Poiitidis f065bc5289 Merge pull request #744 from reicast/feat/improved-speed-sync
sync: Also sync to video if too fast
2015-08-24 13:47:51 +02:00
Stefanos Kornilios Mitsis Poiitidis a4186381fb xbyak: Move to deps folder 2015-08-24 13:27:51 +02:00
Stefanos Kornilios Mitsis Poiitidis 4c19f347aa x64/xbyak: Update to 4.86
- Resolves call warnings for clang/gcc
- Overall minor improvements
- Also added copyright file
2015-08-24 13:22:30 +02:00
Stefanos Kornilios Mitsis Poiitidis 3315fe7da4 Merge pull request #794 from sergiobenrocha2/zlib
Update zlib to 1.2.8.
2015-08-24 11:09:42 +02:00
Jan Holthuis e466cba3e9 linux-dist: Remove unneeded code 2015-08-23 03:18:27 +02:00
Stefanos Kornilios Mitsis Poiitidis 5fd66a1322 Merge pull request #765 from randomstuff/gdi
Handle .gdi files on the CLI (and other enhancements)
2015-08-22 17:35:08 +02:00
Jan Holthuis 7e854f6544 nulldc: Remove some hardcoded values 2015-08-22 17:24:29 +02:00
sergiobenrocha2 f44df005c5 Delete zconf.in.h. 2015-08-21 23:01:12 -03:00
sergiobenrocha2 7e0f4fc871 Update zlib to 1.2.8. 2015-08-21 21:36:32 -03:00
Gabriel Corona 5782726346 Better handling of image file extensions in CLI argument processing
* Only match the end the file name
* Case insensitive
* Recognise .gdi files
2015-08-22 02:02:07 +02:00
sergiobenrocha2 da8a572535 Fix header in pngstruct.h 2015-08-21 20:36:28 -03:00
sergiobenrocha2 b0214d89f6 Update libpng to 1.6.18. 2015-08-21 20:23:16 -03:00
Jan Holthuis c0ede35263 Merge pull request #788 from reicast/holzhaus/evdev-raw-keycodes-in-mappings
linux-dist/evdev: Use raw button codes
2015-08-21 19:57:39 +02:00
Jan Holthuis 7b963c941a linux-dist/evdev: Use raw button codes 2015-08-21 15:03:08 +02:00
Jan Holthuis e35518aca1 linux-dist/evdev: Fix evdev_config_key buffer overflow
Fixes #785.
2015-08-21 14:39:55 +02:00
Jan Holthuis 2c4eb1847d Merge pull request #774 from reicast/holzhaus/x11-fullscreen-mode
Linux: Enable x11 fullscreen toggling and fix window resizes
2015-08-21 02:35:31 +02:00
Jan Holthuis 71021175df x11: Add some typecasting so that gcc is happy ;-) 2015-08-21 02:29:14 +02:00
Jan Holthuis e404a5201d x11: Get rid of one platform ifdef 2015-08-21 02:16:48 +02:00
Jan Holthuis ac18a59906 x11: Remove unused code 2015-08-21 02:10:31 +02:00
Jan Holthuis 4dee5652ee x11: Allow starting in fullscreen via config 2015-08-21 02:07:03 +02:00
TwistedUmbrella e138cca4b9 Remove internal conditionals to use defined flag 2015-08-20 17:21:47 -04:00
TwistedUmbrella c17486a0ef Workaround for missing fp.h header in Xcode 2015-08-20 17:12:49 -04:00
Jan Holthuis dc6758d847 x11: Use the default x11 display (not always 0) 2015-08-20 17:15:06 +02:00
Stefanos Kornilios Mitsis Poiitidis f83130b84b Merge pull request #766 from reicast/fix/ios-and-osx
Fix ios and osx (projectfiles, nvmem)
2015-08-19 23:55:20 +02:00
TwistedUmbrella a4028154f9 Fix to prevent EXC_BAD_ACCESS on iPhone
This is inelegant and should only be temporary but resolves the issue
of CodeCache and ICache “getting lost” during initialization.
2015-08-19 15:33:18 -04:00
Jan Holthuis fc2d1edea9 linux-dist/x11: Enable fullscreen toggling via F11 button 2015-08-19 18:47:42 +02:00
Jan Holthuis b0e91185d2 linux-dist: Fix indentation 2015-08-19 12:02:47 +02:00
Jan Holthuis 1661c23680 linux-dist: Fix missing const members in keyboard mapping
On some compiler versions, this caused an error:
../../core/linux-dist/evdev_mappings.cpp:57:3: error: uninitialized
const member ‘s_evdev_controller_mapping::Axis_DPad_X’
../../core/linux-dist/evdev_mappings.cpp:57:3: error: uninitialized
const member ‘s_evdev_controller_mapping::Axis_DPad_Y’
../../core/linux-dist/evdev_mappings.cpp:57:3: error: uninitialized
const member ‘s_evdev_controller_mapping::Axis_DPad2_X’
../../core/linux-dist/evdev_mappings.cpp:57:3: error: uninitialized
const member ‘s_evdev_controller_mapping::Axis_DPad2_Y’
../../core/linux-dist/evdev_mappings.cpp:57:3: error: uninitialized
const member ‘s_evdev_controller_mapping::Axis_Analog_X’
../../core/linux-dist/evdev_mappings.cpp:57:3: error: uninitialized
const member ‘s_evdev_controller_mapping::Axis_Analog_Y’
../../core/linux-dist/evdev_mappings.cpp:57:3: error: uninitialized
const member ‘s_evdev_controller_mapping::Axis_Trigger_Left’
../../core/linux-dist/evdev_mappings.cpp:57:3: error: uninitialized
const member ‘s_evdev_controller_mapping::Axis_Trigger_Right’
2015-08-19 11:59:48 +02:00
Jan Holthuis 223b1284fe linux-dist: Separate xpad and xboxdrv controller mappings 2015-08-19 11:59:48 +02:00
Jan Holthuis 32c3cca681 linux-dist: Fix evdev mapping detection for xboxdrv 2015-08-19 11:59:48 +02:00
Jan Holthuis a408e27cda linux-dist: Don't print EV_MSC events (evdev) 2015-08-19 11:59:48 +02:00
Jan Holthuis 3b2472766d linux-dist: Add evdev keyboard support & option to disable x11 keyboard 2015-08-19 11:59:48 +02:00
Jan Holthuis a2b2b4fd5f linux-dist: Fixed variable reference in Pandora's clean_exit 2015-08-19 11:59:47 +02:00
Jan Holthuis 1843fc3fe4 linux-dist: Move most x11 related code into a separate file 2015-08-19 11:59:47 +02:00
Jan Holthuis 729ded83f6 linux-dist: Move evdev/joystick code into separate files 2015-08-19 11:59:47 +02:00
Jan Holthuis 14ea9e4196 linux-dist: Refactor the evdev input code 2015-08-19 11:59:47 +02:00
Jan Holthuis 452374afab linux-dist: Add evdev multiplayer support 2015-08-19 11:59:47 +02:00
Jan Holthuis 845f101bf0 linux-dist: Add DPad support for xpad kernel driver (XBox 360) 2015-08-19 11:59:47 +02:00
Jan Holthuis 5fe9803743 linux-dist: Improve XBox360 controller support for legacy joystick api 2015-08-19 11:59:47 +02:00
Jan Holthuis 14f77c92d9 linux-dist: Fix bug where trigger values zeroes all the time 2015-08-19 11:59:46 +02:00
Jan Holthuis 275cd3eb73 linux-dist: Add XBox360 controller support via evdev 2015-08-19 11:59:46 +02:00
Jan Holthuis e3fc2cd1b9 linux-dist: Add missing newline in printf calls 2015-08-19 11:59:46 +02:00
Jan Holthuis a49c83b21c linux-dist: Make input devices configurable 2015-08-19 11:59:46 +02:00
Jan Holthuis d76e605aeb linux-dist: Use a switch case in UpdateInputState 2015-08-19 11:59:46 +02:00
Jan Holthuis 73a9269fbd linux-dist: Remove redundant code in input_evdev_handle 2015-08-19 11:59:46 +02:00
Jan Holthuis 87b6a79199 linux-dist: Consolidate evdev/joystick code even further 2015-08-19 11:59:46 +02:00
Jan Holthuis 9dac10ae10 linux-dist: Replace platform ifdefs with USE_EVDEV and USE_JOYSTICK 2015-08-19 11:59:45 +02:00
Jan Holthuis 064b22f237 linux-dist: Harmonize input device fd names 2015-08-19 11:59:45 +02:00
Jan Holthuis 3dc9713262 linux-dist: Move evdev/joystick setup into their own functions 2015-08-19 11:59:45 +02:00
Stefanos Kornilios Mitsis Poiitidis 4f62b995b6 reios/naomi: First baby steps to support booting naomi roms
- Setups state, copies binary
- Binary locks up w/ a reboot loop

Naomi roms have a 512-byte header, executable length seems to be
at 368 or 3C0. The rom is copied from [0, len) to 0x0c020000.The
bios then hands over control at 0x0c021000
2015-08-19 01:29:46 +02:00
Jan Holthuis 509ac93463 cfg: Move ConfigFile classes to ini.cpp/h 2015-08-16 23:35:13 +02:00
Jan Holthuis e4527bf531 cfg: Fix indentation 2015-08-16 23:00:05 +02:00
Jan Holthuis 8744516e52 cfg: Remove redundant code 2015-08-16 21:25:54 +02:00
Jan Holthuis 87f7ca0bb4 cfg: Allow LoadInt to parse hex strings 2015-08-16 21:25:54 +02:00
Jan Holthuis 60e094dbb9 cfg: Make ConfigFile reusable 2015-08-16 21:25:39 +02:00
Jan Holthuis 78091577ea cfg: Move more code into the ConfigFile class 2015-08-16 21:22:25 +02:00
Jan Holthuis f1ec705067 cfg: Move actual file parsing code into ParseFile method 2015-08-16 18:51:44 +02:00
Jan Holthuis 5ab3d7b59b core/hw/sh4/dyna/shil.cpp: Fix '&&' within '||' warning
Here's the original compiler warning:
../../core/hw/sh4/dyna/shil.cpp:700:24: warning: '&&' within '||'
      [-Wlogical-op-parentheses]
  ...if (op->rd.is_reg() && op->rd._reg==reg_sr_T ||  op->op==shop_ifb)
         ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ~~
../../core/hw/sh4/dyna/shil.cpp:700:24: note: place parentheses around the '&&'
      expression to silence this warning
  ...if (op->rd.is_reg() && op->rd._reg==reg_sr_T ||  op->op==shop_ifb)
                         ^
         (                                       )
../../core/hw/sh4/dyna/shil.cpp:843:25: warning: '&&' within '||'
      [-Wlogical-op-parentheses]
                        if (op->rs1.is_reg() && op->rs1._reg==reg_sr_T
                            ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
../../core/hw/sh4/dyna/shil.cpp:843:25: note: place parentheses around the '&&'
      expression to silence this warning
                        if (op->rs1.is_reg() && op->rs1._reg==reg_sr_T
                                             ^
                            (                                         )
../../core/hw/sh4/dyna/shil.cpp:844:25: warning: '&&' within '||'
      [-Wlogical-op-parentheses]
                                || op->rs2.is_reg() &&
op->rs2._reg==reg_sr_T
                                ~~ ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
../../core/hw/sh4/dyna/shil.cpp:844:25: note: place parentheses around the '&&'
      expression to silence this warning
                                || op->rs2.is_reg() && op->rs2._reg==reg_sr_T
                                                    ^
                                   (                                         )
../../core/hw/sh4/dyna/shil.cpp:845:25: warning: '&&' within '||'
      [-Wlogical-op-parentheses]
                                || op->rs3.is_reg() && op->rs3._reg==reg_sr_T
                                ~~ ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
../../core/hw/sh4/dyna/shil.cpp:845:25: note: place parentheses around the '&&'
      expression to silence this warning
                                || op->rs3.is_reg() && op->rs3._reg==reg_sr_T
                                                    ^
                                   (                                         )
2015-08-15 18:15:50 +02:00
Jan Holthuis 1d0ef81a43 core/hw/sh5/dyna/decoder.cpp: place parentheses around && expression
This compiler warning has been fixed:
../../core/hw/sh4/dyna/decoder.cpp:1181:66: warning: '&&' within '||'
      [-Wlogical-op-parentheses]
  ...|| blk->BlockType==BET_Cond_1 && blk->BranchBlock<=blk->addr)
     ~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../core/hw/sh4/dyna/decoder.cpp:1181:66: note: place parentheses around the
      '&&' expression to silence this warning
  ...|| blk->BlockType==BET_Cond_1 && blk->BranchBlock<=blk->addr)
                                   ^
        (                                                        )
2015-08-15 18:15:50 +02:00
Jan Holthuis 604dcce531 core/hw/holly/sb_mem.cpp: Fix "expression >= 0 is always true" warning
This is the original warning message:
../../core/hw/holly/sb_mem.cpp:219:12: warning: comparison of unsigned
      expression >= 0 is always true [-Wtautological-compare]
        if ((base >=0x0000) && (base <=0x001F) /*&& (addr<=0x001FFFFF)*/...
             ~~~~ ^ ~~~~~~
2015-08-15 18:15:49 +02:00
Jan Holthuis 109a2cce93 rec_x64.cpp: Fix function calls
Resolves #719.
2015-08-15 18:15:49 +02:00
Jan Holthuis f6c167b20b Merge pull request #751 from reicast/holzhaus/fix-linux-dist-formatting
Fix linux-dist/main.cpp formatting
2015-08-15 17:55:55 +02:00
Jan Holthuis 77cac7b0f9 linux-dist: Fix code spacing and alignment 2015-08-15 17:12:48 +02:00
Jan Holthuis 154c92bd59 linux-dist: Remove unnecessary for-loop 2015-08-15 17:12:44 +02:00
Stefanos Kornilios Mitsis Poiitidis 67ecd6d9f9 vmem: Automatic fallback to slowpath if alloc fails
This consolidates some of the work done for TARGET_NO_NVMEM and
feat/no-direct-memmap. If nvmem is disabled at compile time or alloc
fails _nvmem_enabled() will return false. Various other fixes
and cleanups all around.
2015-08-12 03:09:44 +02:00
Stefanos Kornilios Mitsis Poiitidis eeeb2d6a62 texcache: Correctly compute size for STRIDE PLANAR textures 2015-08-12 03:09:44 +02:00
Stefanos Kornilios Mitsis Poiitidis 6724db4f8c shrec/arm: Fix 16M mode lookups. I hate hardcoded consts 2015-08-12 03:05:14 +02:00
Jan Holthuis ab33f473b3 linux-dist: Fix indentation and reformat code 2015-08-12 01:57:29 +02:00
Jan Holthuis 025dbd6458 Merge pull request #740 from reicast/fix/some-linux-main-fixes
linux-dist/main.cpp cleanups
2015-08-12 00:31:11 +02:00
Stefanos Kornilios Mitsis Poiitidis 3703b15c3a sync: Also sync to video if too fast
config:pvr.SynchronousRendering controls this feature

Not quite perfect, but should reduce the issues
with too fast hardware
2015-08-11 23:55:51 +02:00
Jan Holthuis 5fbfc0fb8b linux-dist: Rely on USES_HOMEDIR for home dir detection
Neither Mac nor Emscripten define USES_HOMEDIR in their Makefiles, so checking
if HOST_OS != OS_DARWIN && !defined(TARGET_EMSCRIPTEN) is pointless.
2015-08-11 21:36:14 +02:00
Jan Holthuis 60c827cf0c linux-dist: Clean up home dir detection 2015-08-11 21:31:57 +02:00
Stefanos Kornilios Mitsis Poiitidis 1706027c10 Rename newdc to reicast 2015-08-11 20:52:09 +02:00
Stefanos Kornilios Mitsis Poiitidis 4077941dee Fix a DC_PLATFORM_NORMAL leftover 2015-08-11 20:43:14 +02:00
Jan Holthuis 6808bbba66 linux-dist: Add brackets to else expression 2015-08-11 20:27:51 +02:00
Jan Holthuis 64152635b5 linux-dist: Remove unnecessary if case 2015-08-11 20:20:12 +02:00
Stefanos Kornilios Mitsis Poiitidis ca83428fa5 naomi: Fix linux builds 2015-08-11 19:13:12 +02:00
Stefanos Kornilios Mitsis Poiitidis 13b2c4d8aa naomi: Don't lock vram mirrors if vram isn't mirrored 2015-08-11 19:13:12 +02:00
Stefanos Kornilios Mitsis Poiitidis bfbb01d470 naomi: 32MB-aware block lookups from arm-jit 2015-08-11 19:13:12 +02:00
Stefanos Kornilios Mitsis Poiitidis 0c0008d17b naomi: Pass Dreamcast keycodes to get some kind of input 2015-08-11 19:13:12 +02:00
Stefanos Kornilios Mitsis Poiitidis 7d2cb5a7c0 vmem: Correctly map buffers > 16M
The previous implementation would generate pointers
with the offset doubly-added, pointing to +16M after
the correct address
2015-08-11 19:13:12 +02:00
Stefanos Kornilios Mitsis Poiitidis b77a549bf4 shrec/x86: Fix canonical for reg_ptr prms 2015-08-11 19:13:12 +02:00
Stefanos Kornilios Mitsis Poiitidis 89b9687628 shrec/x86: SIMPLELINK implementation for cross checking 2015-08-11 19:13:12 +02:00
Stefanos Kornilios Mitsis Poiitidis a0175c8011 naomi: Don't spam on DIMM board detection reads. It's disabled for now. 2015-08-11 19:13:12 +02:00
Stefanos Kornilios Mitsis Poiitidis f2d8ed06f5 arm7rec: Increase the emitter guarantee to 64 KB
I run into this with the x86-arm-arm7 backend because of per-block compile and largeish blocks
2015-08-11 19:13:11 +02:00
Stefanos Kornilios Mitsis Poiitidis b53b303c89 naomi: Portability fixes, add posix support
- Replaced BYTE, WORD, DWORD w/ u8, u16 & u32
- mmap/munmap/open

I should wrap the mmap fns in the oslib methinks...
2015-08-11 19:13:11 +02:00
Stefanos Kornilios Mitsis Poiitidis 7feeec0ceb naomi: Refactor cart logic to naomi_cart 2015-08-11 19:13:11 +02:00
Stefanos Kornilios Mitsis Poiitidis 7d0d2ba572 naomi: Initial support for TARGET_NAOMI, windows only
- Import naomi code from nullDC, modify and cleanup
- Only unprotected dimm-board support, custom lst files
- Still a compile option
- Boots naomi bios and some games, no input yet
2015-08-11 19:13:11 +02:00
Stefanos Kornilios Mitsis Poiitidis 9bc0a8ff0f shrec/bm: BM lookup table size follows RAM_SIZE 2015-08-11 19:13:11 +02:00
Stefanos Kornilios Mitsis Poiitidis 365accfde2 windows: fix TARGET_NO_NVMEM 2015-08-11 19:12:20 +02:00
Stefanos Kornilios Mitsis Poiitidis 6348057402 Merge pull request #705 from Holzhaus/unified-makefiles-all
Merge Makefiles for beagle/pandora/gcwz/rapi2/lincpp into Linux Makefile
2015-08-11 18:19:37 +02:00
Stefanos Kornilios Mitsis Poiitidis 990470e19a linux: Fix input for rpi2 & co 2015-08-11 18:08:06 +02:00
TwistedUmbrella 795e84f3b1 Remove an overlapping ifdef 2015-08-11 12:05:09 -04:00
Stefanos Kornilios Mitsis Poiitidis c3c2c68f21 Merge pull request #729 from reicast/wip/softrend
Basic and buggy software renderer
2015-08-11 17:43:47 +02:00
Jan Holthuis 4cb4feba61 core.mk: Replace ifndef DESKTOPGL with ifdef USE_GLES to match Makefile notation 2015-08-11 17:36:16 +02:00
Stefanos Kornilios Mitsis Poiitidis 91039911ce softrend/gltex: Fix non-windows builds
_mm* are windows only, and so is softrend for now
2015-08-11 16:12:18 +02:00
Stefanos Kornilios Mitsis Poiitidis 1908ade464 Update context.h 2015-08-11 08:05:09 -04:00
Stefanos Kornilios Mitsis Poiitidis c60fca4973 sh4: Cleanup SetFloatStatusReg a bit 2015-08-11 07:57:23 -04:00
Stefanos Kornilios Mitsis Poiitidis 45f0a47eec OSX: Basic keyboard input 2015-08-11 07:57:22 -04:00
Stefanos Kornilios Mitsis Poiitidis 26cfcd79e9 OSX: Fiddling to get the rec-cpp/noexcept path running 2015-08-11 07:57:22 -04:00
Stefanos Kornilios Mitsis Poiitidis dfc341a5fe softrend: OpenMP support, fix present overflow during untiling
- Uses vertical slicing
- Efficiency wins are best for 2-3 rendering threads
2015-08-11 00:26:02 -04:00
Stefanos Kornilios Mitsis Poiitidis 19fa2f1678 softrend: Limits on #defines, scissor area as rect 2015-08-11 00:26:02 -04:00
Stefanos Kornilios Mitsis Poiitidis 3e9431b2b7 softrend: billinear filtering, perspective uv, alpha test, ARGB1555
- Texture pixels are predecoded and expanded to quads for filtering
- bilinear input ordering might be wrong
2015-08-11 00:26:02 -04:00
Stefanos Kornilios Mitsis Poiitidis e3845465f0 win64/jit: Generate unwind table for the jit code cache
This required moving the SH4_TCB outside the exe, as new tables that belong on the executable are ignored.
This isn't perfect, but there's a large area to scan for available address space so it shouldn't be a problem
2015-08-11 00:26:02 -04:00
Stefanos Kornilios Mitsis Poiitidis e6a9d3e661 softrend: Resembling a pixel pipeline, textures, sort, cull
- Basic pixel pipeline, a bit better triangle tests, specialized render handlers
- Textures w/ point filtering. Not very smart is it goes 32 -> 16 -> 32 bpp, but works.
- The texture cache is shared rather inelegantly w/ OpenGL one
- Culling
- PParam sorting (shared w/ GL)

The texturing and color blending paths are ugly and slow
2015-08-11 00:26:02 -04:00
Stefanos Kornilios Mitsis Poiitidis fcf273dd11 softrend: Add support for culling 2015-08-11 00:26:02 -04:00
Stefanos Kornilios Mitsis Poiitidis bedd2db7b6 softrend: WIP floating interpolation to handle big numbers
Still not 100% correct pixel fill
2015-08-11 00:26:02 -04:00
TwistedUmbrella b12055f7c0 Merge pull request #721 from reicast/loungekatt
Convert third-party source to library (avoid license conflict)
2015-08-11 00:23:55 -04:00
Stefanos Kornilios Mitsis Poiitidis 8faef19c3f Apple: fix disabled nvmem blockmgr path, add printfs, clean xcode files 2015-08-10 03:02:59 +02:00
TwistedUmbrella bf75c95ae8 Update project for #755 and fix warnings 2015-08-17 07:59:39 -04:00
Stefanos Kornilios Mitsis Poiitidis 8de800497e windows: Don't call InitAudio from os_CreateWindow
Huh, why was this call even there?
2015-08-09 01:48:41 +02:00
TwistedUmbrella 95b39b885a Fix iPhone build and import GameController / iCade 2015-08-07 16:17:28 -04:00
Stefanos Kornilios Mitsis Poiitidis b4b04ea75f pvr/softrend: Implement basic alpha blending 2015-08-05 08:19:50 +02:00
Stefanos Kornilios Mitsis Poiitidis 4aaff464b3 shrec/jitx64: Implement all block ends
This is still minimal and doesn't do any linking or other smart stuff
Also fixed a bug on shop_jdyn
2015-08-05 05:00:01 +02:00
Stefanos Kornilios Mitsis Poiitidis f2f9a041e1 Merge pull request #727 from reicast/wip/import-drkpvr-softrend
rend/soft: Import the experimental core from nulldc/drkpvr, modularize
2015-08-05 04:25:06 +02:00
Stefanos Kornilios Mitsis Poiitidis 8cce1a4976 rend/soft: Import the experimental core from nulldc/drkpvr, better renderer modularization
- Adapted for indexed, async rendering, shared ta decoder
- This blits via a quick-and-hacky GDI blitter for now
- SSE/MMX intrins based, so not very portable
- A rather not good "reference" implementation
- At least, it's not terribly slow though
- GetTexture moved to Renderer interface
2015-08-05 02:43:40 +02:00
Stefanos Kornilios Mitsis Poiitidis 0343feffa6 Merge pull request #714 from reicast/wip/nacl-and-emscripten
NaCL & Emscripten targets

- CPU_GENERIC
- TARGET_NO_THREADS
- TARGET_NO_NIXPROF
- TARGET_NO_EXCEPTIONS
- TARGET_NO_NVMEM
- TARGET_BOUNDED_EXECUTION
- TARGET_NO_COREIO_HTTP
2015-08-03 11:28:29 +02:00
Stefanos Kornilios Mitsis Poiitidis 7e51e13efc build: Add FEAT_HAS_COREIO_HTTP, update nacl/emscripten makefiles 2015-08-03 11:14:27 +02:00
Stefanos Kornilios Mitsis Poiitidis 2beb23978b rec-cpp: Fix non-emscripten build 2015-08-03 11:12:24 +02:00
Stefanos Kornilios Mitsis Poiitidis 61394d7a44 shil: Disable external assembly implementations
Using external function pointers is broken after the rec-cpp structural changes,
and relatively low priority so disabled for now.

Fixes builds on arm, non-android (see #720)
2015-08-03 10:41:34 +02:00
Stefanos Kornilios Mitsis Poiitidis ac6bdddae3 Merge pull request #694 from randomstuff/cleanup
Minor Cleanup
2015-08-03 00:09:11 +02:00
Gabriel Corona 8c68f4a06b Fix a 'permissive' warning 2015-07-31 20:37:39 +02:00
Gabriel Corona 9ff72a731f Remove function declaration in the middle of a function 2015-07-31 20:32:11 +02:00
Gabriel Corona 221ba4c22d s/cfgSetVitual/cfgSetVirtual 2015-07-31 20:32:06 +02:00
Stefanos Kornilios Mitsis Poiitidis d8ccc9d2e7 emscripten: More rec-cpp progress
It almost builds now, except emscripten randomly gives up and crashes. No one likes my code these days...
2015-07-29 06:45:02 +02:00
Stefanos Kornilios Mitsis Poiitidis 0153145950 emscripten: Fix build 2015-07-29 06:22:59 +02:00
Stefanos Kornilios Mitsis Poiitidis 289aa393c0 nacl: fixing affected android build 2015-07-29 05:17:16 +02:00
Stefanos Kornilios Mitsis Poiitidis 17a4af378c nacl: Post-merge cleanups 2015-07-29 04:58:41 +02:00
Stefanos Kornilios Mitsis Poiitidis 373cb6e24e nacl: Working towards GLES2. Will init, shaders won't compile 2015-07-29 04:30:21 +02:00
Stefanos Kornilios Mitsis Poiitidis 057b1075b6 ta/mt: add rend_framePending? for better mt sync from clients 2015-07-29 04:28:27 +02:00
~skmp 0b29889b02 nacl: nacl_lin target, to simulate nacl build under linux. Debugger friendly 2015-07-29 04:28:13 +02:00
~skmp 2d9fbdda40 nacl: Fix sqw_nommu to work w/ non-linear nvmem allocation 2015-07-29 04:27:32 +02:00
Stefanos Kornilios Mitsis Poiitidis b9bbb5c0c8 nacl: Work towards rec-cpp 2015-07-29 04:26:50 +02:00
Stefanos Kornilios Mitsis Poiitidis 4f86496773 linux/common: Stub out LockRegion/UnLockRegion when TARGET_NO_EXCEPTIONS 2015-07-29 04:21:54 +02:00
Stefanos Kornilios Mitsis Poiitidis 255d1bdb42 nacl: Stub out LockRegion/UnLockRegion as no mprotect logic 2015-07-29 04:19:12 +02:00
Stefanos Kornilios Mitsis Poiitidis d0674b3cdd nacl: Use nacl_io, emulation on background thread, print speed stats 2015-07-29 04:18:36 +02:00
Stefanos Kornilios Mitsis Poiitidis 341475f778 nacl: Redirect printf/puts, basic html loader 2015-07-29 04:17:49 +02:00
Stefanos Kornilios Mitsis Poiitidis 2eb9d7908f A first hackthrough to get nacl compiling working 2015-07-29 04:17:31 +02:00
~skmp 376a36bf57 Emscripten: Hacky support, can boot bios
- Add TARGET_BOUNDED_EXECUTION, TARGET_EMSCRIPTEN
- Add emscripten makefile

Of course, there's no jit at this point
2015-07-29 04:08:08 +02:00
~skmp a2831d67a0 vmem/alloc: TARGET_NO_NVMEM to not use page tricks
This combined with various other configs avoid segfault/pagefaults usage
2015-07-29 04:08:07 +02:00
~skmp 59c6012db2 pvr/rend_if: TARGET_NO_THREADS support 2015-07-29 04:08:06 +02:00
Stefanos Kornilios Mitsis Poiitidis c8f982b8f5 linux-common: TARGET_NO_EXCEPTIONS, TARGET_NO_THREADS 2015-07-29 04:08:05 +02:00
~skmp 518c547fb5 nixprof: move to its own module, TARGET_NO_NIXPROF, NO_NIXPROF 2015-07-29 04:08:04 +02:00
~skmp b1a55aba3f ta_parser: use uniform function signatures for Append* callbacks
- Fixes emscripten build & makes more sense overall
2015-07-29 04:08:03 +02:00
Stefanos Kornilios Mitsis Poiitidis 2347b95bf2 aica/sgc: fix update_rate warning 2015-07-29 03:26:58 +02:00
Stefanos Kornilios Mitsis Poiitidis a28209cae2 deps/sha256: memset is in string.h, not memory.h 2015-07-29 03:26:08 +02:00
Stefanos Kornilios Mitsis Poiitidis 6ebaa74ffe core.mk: Only android needs deps/libzip/ right now 2015-07-29 03:24:51 +02:00
Stefanos Kornilios Mitsis Poiitidis 30229f6724 cl: Fix const warning 2015-07-29 03:23:08 +02:00
Stefanos Kornilios Mitsis Poiitidis 75fd698695 Merge pull request #701 from reicast/feat/rec-cpp
Initial implementation of a "dynarec-structured" cached shop interpreter
2015-07-29 02:43:51 +02:00
Stefanos Kornilios Mitsis Poiitidis a82f9704d6 shrec: Limit max blocksize to 511 shops 2015-07-29 02:29:16 +02:00
~skmp f1a6f04dce rec-cpp: verify() that we have an executer w/ shop_count 2015-07-29 02:29:07 +02:00
Stefanos Kornilios Mitsis Poiitidis ec5bb09917 rec-cpp: Add sig aCaCcCdC for mul_u64, mul_s64 2015-07-29 02:28:52 +02:00
~skmp 5b67e3f090 rec-cpp: SH4_TCB doesn't need to be in .text if not executable 2015-07-29 02:28:39 +02:00
Stefanos Kornilios Mitsis Poiitidis 1e0224dd1b rec-cpp: Add sig aCaCcCdC for rocl, rocr 2015-07-29 02:28:29 +02:00
Stefanos Kornilios Mitsis Poiitidis 7de36d56ec Merge pull request #712 from reicast/feat/imgread-readmiss-with-sector
imgread/common: On read error, print the sector that failed
2015-07-29 00:49:21 +02:00
~skmp 39e1439b93 imgread/common: On read error, print the sector that failed 2015-07-29 00:41:14 +02:00
Stefanos Kornilios Mitsis Poiitidis fb6d0a0166 Merge pull request #710 from reicast/feat/vmu-safer-creation
maple: Gracefully fail if vmu cannot be written
2015-07-29 00:03:00 +02:00
Stefanos Kornilios Mitsis Poiitidis 83d3abf266 maple: Gracefully fail if vmu cannot be written 2015-07-28 23:54:50 +02:00
Stefanos Kornilios Mitsis Poiitidis f62d532b78 Audiostream: Don't log on every push if audio is disabled
There is an initialization warning which is enough to warn users
2015-07-28 23:52:48 +02:00
Jan Holthuis 3faf51c6ce Removed mode variable in print_mem_addr()
This removes the mode variable in core/linux/common.cpp's
print_mem_addr(). It not neccessary and produces compiler warnings.
2015-07-27 19:12:28 +02:00
Jan Holthuis 9e00305c90 Fix anonymous struct/union linkage errors in gdromv3.cpp
Since read_params, packet_cmd, read_buff, pio_buff, ata_cmd, cdda and
ByteCount have not been declared static, they are visible in other
translation units. Since their structs are anonymous, their types have
internal linkage only. Thus, accessing them in other translations units
is impossible anyway.

By declaring them static, we're giving it internal linkage so that
neither the type nor the variable are visible in other translation
units.

Here are the errors:

../../core/hw/gdrom/gdromv3.cpp:50:3: warning: anonymous type with no
linkage used to declare variable '<anonymous struct> read_params' with
linkage
 } read_params;
   ^
../../core/hw/gdrom/gdromv3.cpp:83:3: warning: anonymous type with no
linkage used to declare variable '<anonymous struct> packet_cmd' with
linkage
 } packet_cmd;
   ^
../../core/hw/gdrom/gdromv3.cpp:91:3: warning: anonymous type with no
linkage used to declare variable '<anonymous struct> read_buff' with
linkage
 } read_buff;
   ^
../../core/hw/gdrom/gdromv3.cpp💯3: warning: anonymous type with no
linkage used to declare variable '<anonymous struct> pio_buff' with
linkage
 } pio_buff;
   ^
../../core/hw/gdrom/gdromv3.cpp:106:3: warning: anonymous type with no
linkage used to declare variable '<anonymous struct> ata_cmd' with
linkage
 } ata_cmd;
   ^
../../core/hw/gdrom/gdromv3.cpp:122:3: warning: anonymous type with no
linkage used to declare variable '<anonymous struct> cdda' with linkage
 } cdda;
   ^
../../core/hw/gdrom/gdromv3.cpp:156:4: warning: anonymous type with no
linkage used to declare variable '<anonymous union> ByteCount' with
linkage
  } ByteCount;
    ^
2015-07-27 19:08:35 +02:00
Stefanos Kornilios Mitsis Poiitidis 4b97f468b5 rec-cpp: Implement block ends and a few more decoders
- Full IL mode now works!
- Dispatch up to 270 mips on 2.2ghz i7, on a complex 3d scene
- Will run many games fullspeed on modern pc, thanks to idleskip
2015-07-25 20:38:48 +02:00
Stefanos Kornilios Mitsis Poiitidis fb55e7f6f8 sh4/canonical: Provide impls for sync_sr and sync_fpscr
This shouldn't be a requirement as directly using shil_cf_ext should work,
but for some reason if I don't msvc optimizes the functions out.
2015-07-25 20:36:06 +02:00
Stefanos Kornilios Mitsis Poiitidis cbda836a96 she/core: Less stupid register swap functions 2015-07-25 20:33:53 +02:00
Stefanos Kornilios Mitsis Poiitidis b1f7015a98 rec/cpp: Mostly fully direct specialized dispatchers
- Nest shil implementations to shilop_##name::form::impl for easier template matching
- Add more direct handlers
- Add prints if a direct handler isn't found
- Remove multiple indirect handlers, leave them for fallback
2015-07-25 14:36:04 +02:00
Stefanos Kornilios Mitsis Poiitidis 51a6ed2146 rec/all: optional mips counter on recs
Also de-unroll rec-cpp for debug builds
2015-07-25 14:31:46 +02:00
Stefanos Kornilios Mitsis Poiitidis 00dbd6222f rec-cpp: Massage for gcc compatibility 2015-07-25 14:25:51 +02:00
Stefanos Kornilios Mitsis Poiitidis 1710f76ab1 unroll the execution loop 2015-07-25 14:24:11 +02:00
Stefanos Kornilios Mitsis Poiitidis 7303a046be rec-cpp: Direct calls to shil_opcl_* handlers for many opcodes 2015-07-25 14:23:59 +02:00
Stefanos Kornilios Mitsis Poiitidis 39e369411c shil/canonical: Fix decls, comment 2015-07-25 14:23:45 +02:00
Stefanos Kornilios Mitsis Poiitidis e4138f9a60 rec-cpp: Wastefully generate more dispatchers for better BTB cache locality
The real solution is to have inlining between the (now static) dispatchers and the impls.
It's gonna be hard to convince the compiler on that.
2015-07-25 14:23:07 +02:00
Stefanos Kornilios Mitsis Poiitidis fc01428c30 rec-cpp: Force resets when running out of blocks 2015-07-25 14:22:28 +02:00
Stefanos Kornilios Mitsis Poiitidis bfef969626 rec-cpp: Implement stuff up to the corejit layer 2015-07-25 14:21:53 +02:00
Stefanos Kornilios Mitsis Poiitidis cd80850acb First idea for a fully portable "jit" 2015-07-25 14:20:54 +02:00
Stefanos Kornilios Mitsis Poiitidis 39ead6159b Merge pull request #699 from reicast/feat/build-defines-cleanup
(Imma merge this, as it's needed for rec-cpp work, but that doesn't mean the discussion is closed)
2015-07-25 14:03:35 +02:00
Stefanos Kornilios Mitsis Poiitidis a4a427feea shell/windows: Move taskip, swap to F1,2,10 from '1', '2', '0' 2015-07-25 13:28:57 +02:00
Stefanos Kornilios Mitsis Poiitidis 58d4a55696 build: fix makefiles 2015-07-25 13:19:38 +02:00
Stefanos Kornilios Mitsis Poiitidis 9cf9bacd13 build: Refactor HOST_NO_REC everywhere 2015-07-25 13:19:26 +02:00
Stefanos Kornilios Mitsis Poiitidis a9c76351f6 build: Draft & cleanup, refactor rec* options 2015-07-25 13:17:42 +02:00
TwistedUmbrella 0fb51735da Update iOS project, Add support for iOS define 2015-07-23 23:30:35 -04:00
Stefanos Kornilios Mitsis Poiitidis 67a8ceabdd shil/param: add imm_value() 2015-07-23 02:08:25 +02:00
Stefanos Kornilios Mitsis Poiitidis 19535cc34d vmem: Remove some useless/dead code 2015-07-21 16:04:22 +02:00
Stefanos Kornilios Mitsis Poiitidis 1aa01dbc63 sigsegv: Change print handler to use %p for pointers 2015-07-21 15:42:48 +02:00
Stefanos Kornilios Mitsis Poiitidis 82ef7d0754 jitx64: 16KBs of emit space are guaranteed, not 64 2015-07-21 15:42:10 +02:00
Stefanos Kornilios Mitsis Poiitidis 0a3fcfe4ac jit-x64: typofix on shop_writem, WriteMem64 2015-07-21 14:48:37 +02:00
Stefanos Kornilios Mitsis Poiitidis b056cf6cef Implement jitcore opset for x64
Now mov64, readm, writem, in addition to jittiny ifb, jdyn, mov32
2015-07-14 20:17:45 +02:00
Stefanos Kornilios Mitsis Poiitidis 1125f25eae Fix win86 build 2015-07-14 17:47:54 +02:00
Stefanos Kornilios Mitsis Poiitidis f3c8e3623d Fix HOST_CPU for x64 windows 2015-07-14 17:31:48 +02:00
Stefanos Kornilios Mitsis Poiitidis 8cb6d6578c Count cycles correctly 2015-07-14 17:23:02 +02:00
Stefanos Kornilios Mitsis Poiitidis e50cfe3010 x64 tinyjit: linux support 2015-07-14 03:35:34 +02:00
Stefanos Kornilios Mitsis Poiitidis 3852cf9ac8 Minimal x64 jit: Desync'd, but runs 2015-07-13 23:56:42 +02:00
Stefanos Kornilios Mitsis Poiitidis b385575d6f Get x64 building 2015-07-13 21:13:51 +02:00
TwistedUmbrella 115ee47efc Prevent log overlap when loading button.png 2015-07-08 10:21:26 +02:00
Stefanos Kornilios Mitsis Poiitidis def91fdc84 Remove personality fix for android 2015-07-08 10:15:37 +02:00
Stefanos Kornilios Mitsis Poiitidis 043d9004a0 Merge rapi2 to master 2015-07-07 16:20:14 +02:00
Stefanos Kornilios Mitsis Poiitidis 3f36e98f90 Linux: Make sure personality isn't READ_IMPLIES_EXEC 2015-07-07 16:00:50 +02:00
Stefanos Kornilios Mitsis Poiitidis 475b6bbc38 Merge pull request #686 from reicast/feat/merge-x86-recs
Merge windows and linux x86 recompiler paths
2015-07-05 23:40:05 -07:00
Stefanos Kornilios Mitsis Poiitidis ea26e2784a Merge windows and linux x86 recompiler paths 2015-07-06 08:15:45 +02:00
TwistedUmbrella 7db6966ef8 Merge pull request #671 from imirkin/master
linux: print memory map to stderr when fixed path not available
2015-07-05 19:37:21 -04:00
Stefanos Kornilios Mitsis Poiitidis 852672a2dc Merge pull request #667 from Holzhaus/fix-bug-660
sh4_opcodes: Fix printf arguments
2015-07-05 11:45:58 -07:00
TwistedUmbrella e229b44821 Merge pull request #673 from reicast/loungekatt
Fixes for building iOS / Android in parallel
2015-07-05 11:15:08 -04:00
Stefanos Kornilios Mitsis Poiitidis b5108993c9 Audio: Fix windows build 2015-07-05 14:53:43 +02:00
TwistedUmbrella e3744446f5 Support return to external launcher, Prep for linux
This adds the ability to simply close the emulator when launched
externally and prevents changes designed for linux from generating
conflicting controller configurations on Android (and may be needed for
iOS as well).
2015-06-28 11:29:34 -04:00
TwistedUmbrella c85a190d02 Relocate os_DebugBreak definition to origin 2015-06-28 11:11:39 -04:00
Jan Holthuis 6ae3c5d907 Introduce USE_ALSA and accomodate Makefiles
This introduces the USE_ALSA flag (replaces the somewhat hacky
"HOST_OS==OS_LINUX && !defined(TARGET_NACL32) && !defined(ANDROID)"
if case).

The Makefiles for beagle, gcwz, lin86 and pandora have been adapted to
reflect this change.
2015-06-27 20:45:42 +02:00
Jan Holthuis a9771c918d Added PulseAudio backend
This commit introduces PulseAudio support using PulseAudio's "Simple
API".

The PulseAudio backend will be included during compilation if
USE_PULSEAUDIO is defined.
2015-06-27 20:44:54 +02:00
Jan Holthuis c17c7502d8 Added newline to end of files and removed obsolete code 2015-06-27 20:44:53 +02:00
Jan Holthuis 1c1e779500 Added Android audio backend
This *should* add the Android audio backend. I do not have any idea how
to do this properly, but I figured that this might work for the moment.
There's probably a lot of testing required for this to work.
2015-06-27 20:44:53 +02:00
Jan Holthuis a65b752592 Added DirectSound audio backend
This commit adds the DirectSound audio backend, which is a modified
version of core/oslib/ds_audiostream.cpp.

Porting this was a bit tricky, since ds_audiostream.cpp defined 3
extern functions that the other backends didn't have:
* bool os_IsAudioBuffered();
* bool os_IsAudioBufferedLots();
* int os_getusedSamples();

I came to the conclusion that these methods are obsolete since they are
only used core/windows/winmain.cpp in the function void os_wait_cycl(u32
cycl) - which is used nowhere. Thus, I removed os_wait_cycl and the
headers of the three functions in core/oslib/oslib.h. I also removed the
functions themselves (except for int os_getusedSamples(), which is still
used inside the directsound backend, but can safely declared static for
that purpose).

The DirectSound backend will be included during compilation if HOST_OS
is OS_WINDOWS.
2015-06-27 20:44:53 +02:00
Jan Holthuis 167fba4c9f Added ALSA audio backend
This adds the OSS audio backend, which is basically a slightly modified
version of core/oslib/alsa_audiostream.cpp from the skmp/linux-x64
branch (as of commit cdf9f3dc971506c2efd979275c2869f064e1027c).

The ALSA backend will be included during compilation if HOST_OS is OS_LINUX
and neither TARGET_NACL32 nor ANDROID are defined. This should be
changed to a USE_ALSA flag in the future (for constistency and and
simplicity reasons), but i didn't want to put too much stuff into this
commit.
2015-06-27 20:44:53 +02:00
Jan Holthuis f6d2e3fa7e Added OSS audio backend
This adds the OSS audio backend and removes OSS code from
core/linux-dist/main.cpp and core/sdl/main.cpp.
The OSS backend will be included during compilation if the USE_OSS
flag is set.

Although OSS code in core/linux-dist/main.cpp depended on the
TARGET_PANDORA flag instead of USE_OSS, the latter should work too
since it is defined in the Pandora Makefile (lines 7 & 83).
2015-06-27 20:42:40 +02:00
Jan Holthuis e3f1784a0f Implement audio backend system
This makes it possible to have multiple audio backends compiled into
reicast (e.g. ALSA & OSS on Linux). These can then selected by the user
via a config option ("backend" iin the "audio" section). It *should*
also be possible to reduce the number of platform-specific ifdefs with this
approach.

Audio backends need to define a struct (audiobackend_t) that holds a
pointer to it's init, push and term function and also a slug and a name
as string. They then need to pass a pointer to this struct to
RegisterAudioBackend() before InitAudio() is called.

For now, I defined a function (RegisterAllAudioBackends) that get's
called exactly once (i.e. upon first call of InitAudio()), where
we can put ifdef'd RegisterAudioBackend() calls into for each backend
that reicast supports.

Please note that this commit just implements the basic audio backend
system - no backends have been ported to the new API yet. For the meantime,
reicast will run without any audio support accross all systems.
2015-06-27 20:41:49 +02:00
Jan Holthuis 35968c8291 Rename os_Push() to PushAudio() for consistency 2015-06-27 20:41:05 +02:00
Jan Holthuis 55c6667753 Rename audiostream_rif.h to audiostream.h
This makes the naming more consistent.
2015-06-27 20:40:19 +02:00
Jan Holthuis 4c5682ac89 Define audiostream.cpp's time_diff at global scope
There's no need to do this inside the InitAudio() function.
2015-06-27 20:39:28 +02:00
Ilia Mirkin 6d3269c91d linux: print memory map to stderr when fixed path not available 2015-06-19 19:00:29 -04:00
Jan Holthuis fb50c7570c sh4_opcodes: Fix printf arguments
This partly resolves #660 (needs to applied to linux-64 branch, too).
2015-06-13 16:55:12 +02:00
TwistedUmbrella 3f2f400c59 Fix compile on OSX by defining os_DebugBreak
This is an equivalent of the same functionality as per
http://stackoverflow.com/a/5561015
2015-05-23 12:25:22 -04:00
TwistedUmbrella 97569a9f24 too many arguments to function 'void armv_end(void*)' 2015-05-23 12:25:14 -04:00
Stefanos Kornilios Mitsis Poiitidis a9fc0f5aa8 Merge pull request #655 from reicast/feat/segfault-context-consolidation
ios merge, segfault context consolidation, linux86, android x86 jit
2015-05-18 14:56:55 +02:00
Stefanos Kornilios Mitsis Poiitidis f571d6c594 pvr/vram: Bank bit seems to be fixed on 4M, even on 16M hardware 2015-05-18 14:45:24 +02:00
~skmp 4ea7398d8a Linux: fix building 2015-05-16 11:23:31 +03:00
Stefanos Kornilios Mitsis Poiitidis 2d842b9257 Renderer_if: fix norend 2015-05-16 01:10:47 -07:00
Stefanos Kornilios Mitsis Poiitidis 9c2a4dc5a4 iOS fixes 2015-05-16 01:04:30 -07:00
Stefanos Kornilios Mitsis Poiitidis 6547d80095 Fixes for android, cleanup context.cpp 2015-05-16 08:18:46 +02:00
Stefanos Kornilios Mitsis Poiitidis 03914309e3 linux/context: Add updated context files 2015-05-16 07:16:46 +02:00
Stefanos Kornilios Mitsis Poiitidis 65ca1382d8 Merge remote-tracking branch 'remotes/origin/skmp/ios-wip' into feat/segfault-context-consolidation
Android/windows builds fine again. Android not tested yet, iOS/OSX not compiled yet
2015-05-16 07:12:19 +02:00
Stefanos Kornilios Mitsis Poiitidis 902c5e2949 linux/context.*: Add missing files 2015-05-16 03:10:39 +02:00
Stefanos Kornilios Mitsis Poiitidis 8c469e4b5c *nix: move context massaging to linux/context.cpp, ALIGN -> DECL_ALIGN
Yay some warnings gone from not conflicting with ALIGN anymore
2015-05-16 03:06:04 +02:00
Stefanos Kornilios Mitsis Poiitidis cf473a14a4 x86 jit: fix android 2015-05-15 23:33:47 +02:00
Stefanos Kornilios Mitsis Poiitidis 5b609a6be4 linux: Sh4 dynarec works 2015-05-08 18:59:20 +02:00
Stefanos Kornilios Mitsis Poiitidis d33ad6edfb Updating from linux/x64 2015-05-08 17:49:23 +02:00
Stefanos Kornilios Mitsis Poiitidis 5ef9d661a6 Merge remote-tracking branch 'origin/master' into skmp/linux86 2015-05-08 17:29:14 +02:00
Stefanos Kornilios Mitsis Poiitidis 5d3c71bee7 Merge master 2015-05-08 17:29:06 +02:00
Stefanos Kornilios Mitsis Poiitidis 3fe8f0eb94 tmu: Correctly schedule next interrupt in underflow, correctly differentiate between large values and underflows
- 32 bit code was "fudgy" on this, so simplified via 64bit counters for edge detection
- Maths to count cycles were wrong
- Let's not do 32 bit wrapped maths after beers without any kind of pen-and-paper design

Should fix #594, also see #645
2015-05-08 02:29:24 +02:00
Stefanos Kornilios Mitsis Poiitidis 7d75ee3839 gles: revert e5965e356d.
glCheck was already an option, and gcc sanely doesn't like if (do { ... } while(0))
2015-05-08 01:06:40 +02:00
Stefanos Kornilios Mitsis Poiitidis e5965e356d gles: Disable glChecks by default, glGetError can be painfully slow 2015-05-07 23:27:22 +02:00
Stefanos Kornilios Mitsis Poiitidis c25ce04b48 sh4_sched: Avoid scheduling to -1, because, magic values. 2015-05-07 22:10:00 +02:00
Stefanos Kornilios Mitsis Poiitidis 4b46de89bb sh4_sched: Handle disabled events correctly 2015-05-07 22:03:55 +02:00
Stefanos Kornilios Mitsis Poiitidis 20f7a41fe9 sched: Do not re-fire expired callbacks, use sh4_sched_remaing on sh4_sched_tick 2015-05-07 21:33:36 +02:00
Stefanos Kornilios Mitsis Poiitidis 0614680f8c WinThreading: DEBUG_THREADS for random sleep around sync primitives 2015-05-07 21:32:11 +02:00
Stefanos Kornilios Mitsis Poiitidis 330a60bcf4 Merge branch 'master' of github.com:reicast/reicast-emulator 2015-04-12 22:48:31 +02:00
Stefanos Kornilios Mitsis Poiitidis 64b2fcbb1c Disable glCheck by default, move to validate:OpenGlChecks config 2015-04-12 22:48:16 +02:00
Stefanos Kornilios Mitsis Poiitidis e98f69ebd9 Merge pull request #629 from Holzhaus/fix-typedef-default-args
Remove arm_dyna typedef default args
2015-04-12 22:35:09 +02:00
Jan Holthuis b3faffacc9 Remove arm_dyna typedef default args
Using default arguments is only allowed in function declarations, not
in typedefs. This fixes the invalid code that caused compilation errors
on systems using GNU g++ 4.9.2, i.e.:

> ../../core/rec-ARM/arm_dyna.cpp: At global scope:
> ../../core/rec-ARM/arm_dyna.cpp:186:79: error: default arguments are only permitted for function parameters
>  typedef void FPBinOP        (eFSReg Sd, eFSReg Sn, eFSReg Sm, ConditionCode CC=CC_AL);
>                                                                                ^
> ../../core/rec-ARM/arm_dyna.cpp:187:79: error: default arguments are only permitted for function parameters
>  typedef void FPUnOP         (eFSReg Sd, eFSReg Sm,            ConditionCode CC=CC_AL);
>                                                                                ^
> ../../core/rec-ARM/arm_dyna.cpp:188:79: error: default arguments are only permitted for function parameters
>  typedef void BinaryOP       (eReg Rd, eReg Rn, eReg Rm,       ConditionCode CC=AL);
>                                                                                ^
> ../../core/rec-ARM/arm_dyna.cpp:189:79: error: default arguments are only permitted for function parameters
>  typedef void BinaryOPImm    (eReg Rd, eReg Rn, s32 sImm8,     ConditionCode CC=AL);
>                                                                                ^
> ../../core/rec-ARM/arm_dyna.cpp:771:10: warning: anonymous type with no linkage used to declare variable '<anonymous struct> op_table []' with linkage
>  op_table[]=
>           ^
> Makefile:89: recipe for target 'obj/rec-ARM/arm_dyna.build_obj' failed
> make: *** [obj/rec-ARM/arm_dyna.build_obj] Error 1
2015-04-04 19:04:23 +02:00
Stefanos Kornilios Mitsis Poiitidis 014d739495 Update for ndk-10d, improved build options 2015-03-29 06:02:24 +02:00
Stefanos Kornilios Mitsis Poiitidis 0c04adba67 reios: Add support for elf booting 2015-03-22 01:30:19 +01:00
Stefanos Kornilios Mitsis Poiitidis 3b1c38ad55 sh4/driver: don't log on div32 missmatch 2015-03-22 01:26:43 +01:00
~skmp 0285e2c5da reios: Fix unaligned reads (emscripten, arm), more logging, u32be for LBA/sizes 2015-02-26 05:09:52 +01:00
Stefanos Kornilios Mitsis Poiitidis cca8558d08 Add Serial Console option (debug.SerialConsoleEnable) for KOS, etc 2015-02-25 20:56:58 +01:00
Stefanos Kornilios Mitsis Poiitidis 13f67e2d17 reios: CD/descrambling support, reduced log spam, improved boot context, hle address aliasing, bios memset to catch accesses 2015-02-25 19:47:09 +01:00
Stefanos Kornilios Mitsis Poiitidis 578bb6dadc reios/gdrom_hle: Fix TOC, better CHECK_COMMAND handling, split logspam to debugf 2015-02-25 19:33:36 +01:00
Stefanos Kornilios Mitsis Poiitidis 9ed6945826 sh4/cpu_iNimp: Nicer error output 2015-02-25 19:31:33 +01:00
Stefanos Kornilios Mitsis Poiitidis ae8ce5ad23 sh4/rdv_CompilePC: Fix boot time automatic cache flushes
The bios boots from 0xA... addresses, not 0x8... so the flushes were never triggered
2015-02-25 19:30:08 +01:00
Stefanos Kornilios Mitsis Poiitidis 7c64d57b35 Merge branch 'master' into skmp/bios-hle 2015-02-25 15:21:59 +01:00
Stefanos Kornilios Mitsis Poiitidis 952b1ae6e9 reios/hleboot: support cdroms, descramble, slightly smarter bootfile search 2015-02-25 15:21:22 +01:00
TwistedUmbrella ab0e67edc7 Merge pull request #585 from reicast/skmp/improve-coreio
http support for cdi & gdi, updated based gdipsr
2015-01-24 08:53:53 -05:00
Stefanos Kornilios Mitsis Poiitidis f2c07917c7 Partially working dyna for iOS. Very few games working atm.
This works, but is extremelly hacky. Must be started without attached debugger, lldb doesn't want to let go of EXC_BAD_ADDRESS, but reicast really depends on it getting delivered as SIGSEGV/SIGBUS. Also xcode has a really bad day upon seeing the jit code. Oh well.

There's some dynarec bug that causes color corruption on bios logo/boot triagles, TA crash on ikaruga and infinitive loop on crazy taxi. I'd guess some fp-memory-write thingy, abi, or smth. Too bad.

- Force code to compile in arm mode (arm jit -> thumb mem functions is complicated)
- SIGILL, SIGBUS. Works w/o Mach exceptions and EXC_BAD_ADDRESS
- Code buffers move to __TEXT, munmapped && memmapped to actually work
- Primitive input. Button + start, or left (works to get out of bios date screen)
- Fixup emitter for thumb2/interworking (didn't work though, reverted to arm cc)
- Block Manager: Disable mem saving / page fault alloc-on-demand logic
- Move cycle counter to r11, r9 is not clean on iOS. Remove r11 from reg alloc list
- Cache flushes for iOS
- log to log.txt
- load game.chd
2015-01-18 23:52:12 -08:00
Stefanos Kornilios Mitsis Poiitidis 4a917a003e Merge branch 'master' of github.com:reicast/reicast-emulator 2015-01-16 21:38:09 +01:00
Stefanos Kornilios Mitsis Poiitidis 977dff25ab Basic support for recording frames 2015-01-16 21:37:30 +01:00
Stefanos Kornilios Mitsis Poiitidis d9d9b76d79 TA/VTX: Reset current list on vdec_init
Fixes some rare cases where it's invalid or left over to some list, without a CurrentList set, leading to crash.
2015-01-15 14:23:56 +01:00
~skmp 33556f3863 64 bit fixes 2015-01-10 21:15:15 +02:00
Stefanos Kornilios Mitsis Poiitidis 0f60e72eb0 Add #include <cctype>, that's what isalnum is defined 2015-01-09 16:07:11 +01:00
Stefanos Kornilios Mitsis Poiitidis 3ca3b1220d http support for cdi & gdi, updated based gdipsr
- Fix coreio fsize
- Fix coreio fopen to seek to 0
- Fix coreio/http to smart-escape urls
-  For urls that include \ or % in the filenames, you have to pass them
   escaped
- Update gdi parser to use (mostly) streamstream. That code is horrible
  and should be rewritten
- coreio core is hacky and horrible at places as well
- Update imgreader to use coreio
- Update cdi parser + driver to use coreio
2015-01-09 15:50:07 +01:00
Stefanos Kornilios Mitsis Poiitidis d055dbd7cb TMU: Also set the underflow flag. Fixes KOS. 2015-01-07 03:12:33 +02:00
Stefanos Kornilios Mitsis Poiitidis 6ad25b8f53 TMU: Improve interrupt handling 2015-01-06 21:50:00 +02:00
Stefanos Kornilios Mitsis Poiitidis 11e9ed167a Fix building for android 2015-01-06 16:07:18 +02:00
Stefanos Kornilios Mitsis Poiitidis 118e9bb1d2 Merge branch 'master' of github.com:reicast/reicast-emulator 2015-01-06 15:02:16 +02:00
Stefanos Kornilios Mitsis Poiitidis 605fa1c40a TMU: Hello interrupts
Let's pretend that the TMU unit actually exists, it makes games like
Gaunlet Legends happy ~
2015-01-06 15:00:39 +02:00
Stefanos Kornilios Mitsis Poiitidis c5cc2f1e50 Document sh4_shced, fix tmu a bit 2015-01-06 14:10:48 +02:00
~skmp 0783875b84 Linux GLX/3.1 support
My setup is only 2.1 right now, so this is totally untested
2014-12-30 13:21:05 +02:00
~skmp 0bf6272b9c Avoid use of C++11, still too many compilers without support for auto :< 2014-12-30 10:58:13 +02:00
~skmp 78e4b3c5db Use netinet/tcp.h, not linux/tcp.h 2014-12-30 10:29:49 +02:00
~skmp 83752b9761 Fix building for linux (-DGLES && eglCreateWindowSurface) 2014-12-30 10:00:20 +02:00
TwistedUmbrella 28d0e0a08b Change directions on the path to success 2014-12-29 22:12:25 -05:00
Stefanos Kornilios Mitsis Poiitidis 65d19d8b9d Fix reios makefile building 2014-12-30 02:05:01 +01:00
Stefanos Kornilios Mitsis Poiitidis 088bbfd5e7 More work on reios 2014-12-30 01:57:13 +01:00
Stefanos Kornilios Mitsis Poiitidis 25eee26ce5 First steps towards a HLE bios implementation
This is very simplistic, but can already boot and run many games

Known working so far
- Dead Or Alive 2 LE
- Head Hunter
- Marvel VS Capcom 2

Not working
- (Almost) all others
2014-12-29 22:05:35 +01:00
Stefanos Kornilios Mitsis Poiitidis 9d7cac160a PVR: Fix hscale, VO vs FB_W scissor
Fixes w320 games (bangai-o, kof99, etc), and Half-x clip (Ready2Rumble,
more)
2014-12-22 16:46:40 +01:00
Stefanos Kornilios Mitsis Poiitidis 5b9ac040a4 FB_R_SIZE_type should be 32 bits, not 42 2014-12-22 16:45:32 +01:00
Stefanos Kornilios Mitsis Poiitidis 56ebda10a9 ios interpreter works, bios runs w/ 3d visulals
THIS IS A MESS. Sorry @angelXwind :p. We'll have to clean up and merge for r8, but most of the nasty work is there.

What works:
- full init, memalloc, mprotects, etc
- boot
- gles2

What doesn't:
- Exceptions for page faults
  - Breaks texture cache
  - Breaks dynarec because of fastpath
  - segfaults don't work, needs special mach exc_server magic that still eludes me after 5 hours
- Dynarecs. RWX issues, and broken buffer mappings. Also some minnor linking stuff (most of it is taken care of)
- Audio. I just killed it off.
- All of the ui. Was getting in the way of me not knowing how to edit story boards...
- Input

Also, merged branch 'skmp/mac86-hackport' into skmp/ios-wip

Have fun~
2014-12-17 10:19:44 -08:00
Stefanos Kornilios Mitsis Poiitidis 2978074fa6 Merge branch 'master' of https://github.com/reicast/reicast-emulator 2014-12-17 03:11:14 -08:00
Stefanos Kornilios Mitsis Poiitidis 86e2408ace wip to get ios compiling 2014-12-17 03:10:18 -08:00
Stefanos Kornilios Mitsis Poiitidis 160d6f0c48 Linux is case sensitive 2014-12-17 10:44:11 +01:00
Stefanos Kornilios Mitsis Poiitidis 09caf4a55e Lock the entire texture, not just the pixel array.
Fixes #49
2014-12-17 08:45:19 +01:00
Stefanos Kornilios Mitsis Poiitidis 29906d8416 Texkill, palette_update on correct place.
- Texkill needs to be done before texture allocation, which is now done during parsing (texture-sync update)
- palette_update needs to be called from the emu thread, before kicking off the render
2014-12-17 08:42:28 +01:00
Stefanos Kornilios Mitsis Poiitidis 9a5c3160a3 Documentation for dsp.cpp 2014-12-17 07:12:08 +01:00
Stefanos Kornilios Mitsis Poiitidis e43271e448 fix for msvc 2013 / C++14. Rend is now used by stdlib 2014-12-17 06:48:45 +01:00
Stefanos Kornilios Mitsis Poiitidis b1f88f258b Merge branch 'master' of github.com:reicast/reicast-emulator 2014-12-11 14:02:43 +01:00
Stefanos Kornilios Mitsis Poiitidis 34bc42b7a4 Add x64 target, fix Sh4RCB pointer sizing, u32->unat in vmem 2014-12-11 14:02:10 +01:00
Stefanos Kornilios Mitsis Poiitidis acda30f034 Emitter: use main types.h 2014-12-11 14:01:13 +01:00
Stefanos Kornilios Mitsis Poiitidis c69934f839 Force all allocates > 32bits on x64 debug mode to find porting issues 2014-12-11 14:00:53 +01:00
Stefanos Kornilios Mitsis Poiitidis 2f171e3596 Support HOST_NO_REC for windows 2014-12-11 13:59:31 +01:00
Stefanos Kornilios Mitsis Poiitidis 22e95de2d1 Merge pull request #572 from reicast/skmp/pandora-merge
pandora merge
2014-12-11 03:26:13 +01:00
Stefanos Kornilios Mitsis Poiitidis 4500cfb1d3 Remove white-space changes 2014-12-11 02:57:23 +01:00
Stefanos Kornilios Mitsis Poiitidis 63485e7a72 SetFloatStatusReg: support gcc for x86 2014-12-09 22:15:44 +01:00
Stefanos Kornilios Mitsis Poiitidis 77390f861e DSP only if HOST_NO_REC is not enabled 2014-12-09 22:15:00 +01:00
Stefanos Kornilios Mitsis Poiitidis 000f432548 No rend: fix process 2014-12-09 22:10:16 +01:00
Stefanos Kornilios Mitsis Poiitidis a4b3e8dc05 Auto detect gcc/vc 2014-12-09 22:09:51 +01:00
Stefanos Kornilios Mitsis Poiitidis 157c837ec0 Merge branch 'skmp/gl3.1' 2014-10-22 14:42:02 +02:00
Stefanos Kornilios Mitsis Poiitidis 2b1aaf061d Isolate GLES, add DESKTOPGL option to core.mk 2014-10-22 14:39:07 +02:00
Stefanos Kornilios Mitsis Poiitidis e4844a37c3 Merge branch 'skmp/label_list_fix' 2014-10-22 14:15:40 +02:00
Stefanos Kornilios Mitsis Poiitidis 468b0109c8 Fix label array system 2014-10-22 14:11:39 +02:00
Stefanos Kornilios Mitsis Poiitidis 286d6372b5 Merge pull request #540 from reicast/skmp/gdtool
hash support on gdtool
2014-10-05 23:28:55 +03:00
Stefanos Kornilios Mitsis Poiitids f14932c362 Building on osx w/o rec or rend 2014-09-30 12:00:46 +03:00
Stefanos Kornilios Mitsis Poiitidis 0825ca5a4b hash support on gdtool 2014-08-26 00:53:14 +03:00
ptitSeb 763e0948c0 Merge branch 'pandora' of https://github.com/reicast/emulator into pandora 2014-08-18 23:03:05 +02:00
Stefanos Kornilios Mitsis Poiitidis 4f3cee2d87 Improve async/mt rendering & sync logic.
Should fix texture staging issues for now, without degrading performance
Fixes #49 (mvsc2, sf3, etc sprites)
2014-08-18 22:39:21 +02:00
Stefanos Kornilios Mitsis Poiitidis b55fbef3a6 Stored TA command stream persists on TA_LIST_INIT, until first actual write.
Fixes #141, "Main menus on POD and Speed Devil show up black"

Seems like the TA doesn't touch any of the memory structures before first write (and probably later on, but we're not gonna support corrupted ta streams for now)

According to p1pkin

«At least in SpeedDevils, at title screen game do a bit weird thing
 - Init TA context
 - Send lists to TA
 - Init the same context again
 - Start Render

so, if you are clear stored poly/vertex data at "TA_LIST_INIT" pvr2 reg write - you'll get black screen instead game title»
2014-08-18 22:22:30 +02:00
Stefanos Kornilios Mitsis Poiitidis 1cf68c7b38 Webui for linux 2014-08-18 22:21:18 +02:00
Stefanos Kornilios Mitsis Poiitidis 778efcdf19 add libwebsocket 2014-08-18 22:15:27 +02:00
ptitSeb 15708686b9 Added back manual frameskip due to forum request 2014-08-18 21:57:16 +02:00
ptitSeb 229fa41b30 compilations fixes for Pandora 2014-08-18 21:57:15 +02:00