Commit Graph

1998 Commits

Author SHA1 Message Date
Flyinghead c2a048e8d8 arm64: use explode_spans to allocate regs for V2 and F64 params 2019-01-15 08:47:07 +01:00
Flyinghead e241613b8f x64 dynarec: implemented swaplb, fipr, ftrv, frswap and other fixes
native implementations for swaplb, fipr, ftrv and frswap
use explode_spans to map 2V and F64 to registers
save xmm registers when calling subroutine
2019-01-14 21:15:36 +01:00
Marcel Szewczyk 77d997401b RTT: Performance improved for DC RGB565 and ARGB4444 textures - glReadPixels() removed 2019-01-14 20:42:48 +01:00
Marcel Szewczyk 6499a82513 RTT: Additional small fixes 2019-01-14 19:32:56 +01:00
Flyinghead b465f744ba dynarec: flush fpu regs before FTRV
fixes issue with tokyo xtreme racer (x64)
might need to flush before other ops
2019-01-13 23:21:58 +01:00
Marcel Szewczyk a9affb8ac2 RTT: Stencil support for full OpenGL >= 3.0 added 2019-01-13 19:04:33 +01:00
Marcel Szewczyk 82bbe690b1 Stencil support for OpenGL added - requires OpenGL >= 3 2019-01-13 17:33:23 +01:00
Flyinghead 31163b8d7e x64 dynarec: various fixes and optimizations
implemented fsca
fixed fsetgt and cvtf2i
2019-01-13 12:27:02 +01:00
Flyinghead 523b110412 arm64: dynarec fixes 2019-01-13 11:32:28 +01:00
Flyinghead a2cd9d7af1 x64 dynarec: use register alloc spans, implement native opcodes 2019-01-12 23:48:48 +01:00
Marcel Szewczyk 27360a1c41 Lgtm warnings fixed 2019-01-12 13:17:43 +01:00
Flyinghead fc05727538 dynarecs clean-up
move GetRegPtr and ngen_FailedToFindBlock to sh4/dyna
2019-01-11 23:52:20 +01:00
Marcel Szewczyk 10d6f2526a
Merge branch 'master' into mar753/render-to-texture-with-options 2019-01-11 21:16:35 +01:00
Flyinghead e5ee48efa9 arm64: implement swaplb and pref. Various optimizations 2019-01-11 15:58:48 +01:00
Flyinghead ec7787c56a vixl: enable debug log on android 2019-01-11 15:57:37 +01:00
Flyinghead 0f026552c9 fix comments 2019-01-11 15:54:03 +01:00
Flyinghead 1c80207879 arm64: implement ftrv and frswap 2019-01-10 21:22:53 +01:00
Flyinghead 18a16f83ac arm64: more native opcodes implemented 2019-01-10 18:58:29 +01:00
Marcel Szewczyk 2327c1b83e nullDC.cpp updated to support other OSes 2019-01-09 17:33:41 +01:00
Flyinghead a9a2aad8f6 arm64: use register spans allocation. Implement some opcodes natively 2019-01-09 16:35:23 +01:00
Marcel Szewczyk 7e900a4e86 Merge branch 'master' of https://github.com/reicast/reicast-emulator into lowering_rendering_resolution_option 2019-01-09 00:01:03 +01:00
Marcel Szewczyk e285d7f9ba Additional improvements to lowering rendering resolution feature 2019-01-08 23:35:48 +01:00
Flyinghead 3d8b01c515 arm64: Use x28 as sh4 regs base pointer. Reg cache to avoid fetches.
Block check optimization
2019-01-08 13:29:08 +01:00
Marcel Szewczyk 8571be39fd Rendering resolution lowering (horizontal and vertical) is possible from the configuration menu 2019-01-07 23:55:43 +01:00
Flyinghead 67a4eb8f1f arm64 dynarec using vixl 2019-01-07 21:50:46 +01:00
Marcel Szewczyk 2aadb3cdd4 RTT: Stencil support added (extension required) 2019-01-07 21:37:16 +01:00
Marcel Szewczyk 7e26a172f4 Changing screen resolution: Rendering quad created 2019-01-06 22:16:21 +01:00
David Miller 6936bc2ec5
Merge pull request #1477 from reicast/baka/cdi_leak
CDI: coreio file handle leak in cdi image reader
2019-01-03 06:33:16 -10:00
Flyinghead f20e4d8f7f coreio file handle leak in cdi image reader 2019-01-02 18:29:13 +01:00
Flyinghead 0eccf5775b Check CDI version to avoid loading any crap as a CDI image and crashing
Less console spam, better error reporting
2019-01-02 18:06:06 +01:00
Flyinghead bed7a83b77 Check CDI version to avoid loading any crap as a CDI image and crashing
Less console spam, better error reporting
2019-01-02 16:43:36 +01:00
Flyinghead 15fa475f8a Move DumpTexture() to CustomTexture and other fixes 2019-01-02 09:33:19 +01:00
Flyinghead 8532d1a032 Android: add Load Custom Textures option 2018-12-31 08:52:50 +01:00
Flyinghead ecb689051f Custom textures fixes 2018-12-30 22:23:23 +01:00
Flyinghead 9a3dd1c2d1 build fix 2018-12-30 19:44:18 +01:00
Flyinghead 3f98c2ba3c Don't delete a texture when async load is pending 2018-12-30 19:19:27 +01:00
Flyinghead e7fee139e4 build fix 2018-12-30 18:50:24 +01:00
Flyinghead dd280ee24d Custom textures loading and dumping 2018-12-30 18:42:55 +01:00
Marcel Szewczyk 302bfcd582
Merge branch 'master' into mar753/render-to-texture-with-options 2018-12-30 18:26:31 +01:00
Marcel Szewczyk 7450c247d3 Minor formatting fixes 2018-12-30 12:17:39 +01:00
Marcel Szewczyk 127072ec8d RTT: Fixed slow rendering of RGBA5551 framebuffer format on Adreno 506 2018-12-30 12:16:34 +01:00
Marcel Szewczyk 0761ee713e RTT: glReadPixels() functions are now compatible with OpenGL ES 2.0 2018-12-30 12:13:45 +01:00
Marcel Szewczyk e981dd14f8 Render to texture full multipass support added; RTT stride textures support added 2018-12-30 12:08:51 +01:00
Flyinghead 031a40ec81 OSX: Fix crash when exiting. Add missing files to project 2018-12-29 17:42:08 +01:00
Flyinghead 2ecc54b4c9 Set DC date and time automatically, DC language setting 2018-12-23 12:59:16 +01:00
Flyinghead bcc8fd57e2 gdrom: Notify the game that the lid is closed when swapping disc 2018-12-21 15:31:04 +01:00
Flyinghead 655d36a719 Convert vertex indices to u16 wih GLES2
GLES2 doesn't support 32-bit indexes so convert them to u16 when needed
2018-12-13 22:26:25 +01:00
Flyinghead 05177b2231 Naomi: got rid of in-lst input mapping 2018-12-13 16:08:59 +01:00
Flyinghead a6881a46ac Use naomi.zip BIOS for sl2007 2018-12-13 13:08:24 +01:00
Flyinghead d41e405a50 Naomi: non-encrypted M4 carts fix (sl2007) 2018-12-13 13:06:01 +01:00
Flyinghead 35d7d24b6b Naomi: use naomi BIOS for alpilot 2018-12-13 12:11:15 +01:00
Flyinghead 5664bfb9b6 pvr: use u32 for vertex indices to avoid overflow
Fixes alpilot glitches
2018-12-13 10:57:51 +01:00
Flyinghead fea5f05b20 dispframe: initialize color clamping, for and palettes after loading 2018-12-13 09:37:11 +01:00
Flyinghead a3cba92665 Android: load/save jvs eeprom 2018-12-12 23:30:54 +01:00
Flyinghead 10d9761a65 minor fix 2018-12-12 13:49:53 +01:00
Flyinghead 5763da184c Fix bug in WriteMemBlock_nommu_ptr when size is not word-aligned
Bump max opaque polygon to 8192 (alpilot)
Minor lr backport and clean up

Fix corruption in doa2[m] and alpilot
Fix missing sound in Jambo Safari
2018-12-12 12:40:04 +01:00
Flyinghead 9c556007fb Naomi: lr backport 2018-12-11 23:20:30 +01:00
Flyinghead 5ac99d3ad5 pvr: gouraud affects drawing. don't die if render queue not empty after
waiting.
2018-12-11 23:14:14 +01:00
Flyinghead 864939da42 minor lr backport 2018-12-11 23:11:21 +01:00
Flyinghead 2b16edd71f Android: enable DSP, Add dynarec safemode/disable div matching 2018-12-07 12:58:07 +01:00
Flyinghead 9fe13e20e8 Clip high z vertices
Fixes Soul Calibur intro bogus triangles
2018-12-06 20:46:23 +01:00
Flyinghead 064531df95 Add some ExtraDepthScaling for NHL 2K2
Fixes tiny pause menu in-game
2018-12-03 15:14:00 +01:00
Flyinghead 93436c5ec1 Partially revert previous commit as it causes problems with RTT 2018-11-30 18:15:47 +01:00
Flyinghead 284dcf35a7 Add StrideSel to texture cache key as well 2018-11-30 18:06:32 +01:00
Flyinghead 63337d5178 Add ScanOrder to texture cache key
Fixes corrupted title screen in Grandia II
2018-11-30 17:56:57 +01:00
Flyinghead 7dc5fef352 Use xxhash for palette hashing
15 us -> 6 us
2018-11-30 15:24:04 +01:00
Flyinghead e444acbc09 Android: set NoBatch to 1 to enable the DSP 2018-11-30 12:40:43 +01:00
Flyinghead 87a8fcb6f6 ARM dynarec: do a block check on the entire block
The check was on the first 4 bytes only.
Fixes Grandia II freezing on Now Loading... screen
2018-11-29 17:01:31 +01:00
David Miller f03219473c
Merge pull request #1400 from reicast/baka/chdv5_2
Support reading CHDv5
2018-11-28 14:14:02 -05:00
Flyinghead 2ef90152c9 GL: add #if in shader for trilinear filtering 2018-11-23 22:33:51 +01:00
Flyinghead 24e7837eaa Naomi: backport force region setting 2018-11-23 20:51:26 +01:00
Flyinghead cfc215233f Naomi: 7z archives - Split/parent roms 2018-11-23 18:46:21 +01:00
Flyinghead d438f6d9c9 x64 dynarec: don't reset the cycle counter but add a time slice
This is how the interpreter and other dynarecs work. Better scheduling
precison.
Fixes Gundam Side Story freeze at boot.
2018-11-22 18:57:07 +01:00
Flyinghead 0d720ae0d6 Naomi: fix hotd2 and alpilot controls 2018-11-20 12:43:10 +01:00
Flyinghead 894991a44d Naomi: use default eeprom from mame rom
More I/O boards
2018-11-19 16:43:41 +01:00
Flyinghead a1aea570c5 Ignore bogus maple dma xfer
Workaround for csmash game test menu crash
2018-11-19 16:15:05 +01:00
Flyinghead eef297706c Bogus triangles due to huge negative z
Per-pixel only
Fixes vathlete
2018-11-19 15:38:44 +01:00
Flyinghead 4ec078441e Naomi: fix GD-rom games id 2018-11-17 19:27:09 +01:00
Flyinghead 4be52b7b69 missing changes... 2018-11-17 12:29:59 +01:00
Flyinghead 6274e4c3d3 Build fix 2018-11-17 12:21:48 +01:00
Flyinghead ed912ecb94 Naomi: All gd-roms defs. Build fix for OSX and Android 2018-11-17 12:09:05 +01:00
Flyinghead 62a3380bfa Naomi: GD-ROM support 2018-11-16 22:27:35 +01:00
Flyinghead 40f2d64b6c Android: Add zip files to naomi manifest. Load per-game std settings. 2018-11-16 18:35:17 +01:00
Flyinghead 5210c315dd Naomi: wrong M2 game id if char is unsigned 2018-11-16 18:33:10 +01:00
Flyinghead 52a2d3dbdc dsp: mask aica ram addr to avoid overflow
fixes ninja assault crash when starting a game
2018-11-15 21:58:04 +01:00
Flyinghead 1055c8366f Naomi: JVS boards refactoring, support for Ninja Assault 2018-11-15 18:30:54 +01:00
Flyinghead d716dfd74c Naomi: fix alpilot and world kicks series rom def 2018-11-15 18:29:19 +01:00
Flyinghead cb410438a2 Naomi: fix game id for some M2 carts 2018-11-15 18:25:23 +01:00
Flyinghead 074026842e Naomi: fix M2 carts 4MB addressing mode 2018-11-14 20:50:22 +01:00
Flyinghead b5e6d7e54a Naomi/AW: input descriptors. Load bios from naomi.zip for .bin/.dat 2018-11-14 14:13:42 +01:00
baka0815.de 3b38afd1dd SDL: Rename SDK to SDL in output 2018-11-13 10:32:00 +01:00
baka0815.de 453fccb835 SDL: Only create controller when evdev is not available
If evdev is available the controller is most likely already created using evdev.
2018-11-13 10:30:54 +01:00
Flyinghead 6f3b492175 Naomi/AW: Allow bios region selection
Per-game flash and bbram save files
naomi_boot.bin now optional
2018-11-12 17:54:38 +01:00
Flyinghead 895b3a5af1 Naomi/AW: Backport rom list from lr. Skip ram test at aw startup 2018-11-12 14:53:15 +01:00
Flyinghead 9ccf0efdea switch between interpreter and dynarec at runtime 2018-11-11 23:49:41 +01:00
Marcel Szewczyk 4d39c10c91 Build fixes 2018-11-11 23:22:17 +01:00
Marcel Szewczyk 5f19eb7ae8 Rtt menu options are now handled by GLES 2018-11-11 22:01:18 +01:00
Marcel Szewczyk 4fd9de54ce Added rtt menu options 2018-11-11 17:55:18 +01:00
Flyinghead fb92d8d8c5 less log 2018-11-09 13:23:47 +01:00
Flyinghead 4c334f09ea AW: various fixes, more roms 2018-11-09 13:22:27 +01:00
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