Commit Graph
2054 Commits
Author SHA1 Message Date
Flyinghead b052d84f3d missing #include 2019-02-08 16:15:22 +01:00
Flyinghead 88f609ea19 x64 dynarec: loss of precision with RSQRTSS and other fixes
x64: don't use RSQRTSS
Recompile DSP when loading state
Restore VRAM lock of updated RTT textures
Force RTT to buffer for Skies of Arcadia
2019-02-08 09:16:26 +01:00
barbudreadmon 8659d95fa4 Sync naomi roms with mame 0.206
Also fixed some decrypt keys
2019-02-03 20:14:10 +01:00
Flyinghead f6f07876bb Support for redump.org CUE file format 2019-02-03 16:17:03 +01:00
Flyinghead 7439bc3f26 generic dynarec was always used if compiled in
also disable the generic dynarec when using a native one
fixes startup crash on RPi3
2019-01-26 17:23:46 +01:00
Flyinghead a30162f4e2 Fix render to texture buffer alpha channel for 1555
Saturate alpha when strictly greater than threshold, not >=
Don't put rendered texture in cache if rendering to texture buffer
(VRAM)
Fixes Skies of Arcadia start menu
2019-01-26 12:02:01 +01:00
Flyinghead bd76226901 Pad dsp_t to keep savestates compatibility
Remove some unused DSP regs to avoid changing the size of dsp_t, which
breaks serialization compatibility.
2019-01-25 16:48:01 +01:00
Flyinghead 8fecd1de74 arm64 DSP dynarec 2019-01-25 15:37:01 +01:00
Flyinghead 86a0b68832 arm64: new AICA dynarec and improvement to the sh4 one
AICA arm7 dynarec implementation for arm64
Use tail calling and block linking in sh4 dynarec
Revert to not using "explode spans" as it's slower

Fix float precision issue on x64 when using AVX instructions
Minor optimizations for x64 and arm64
2019-01-22 19:52:30 +01:00
flyinghead 6db40e8e65 x64 dynarec: fix windows crash
win32: implement proper seh prologue
fix a cpu feature lookup
disable LTO
win32: add more xmm register to allocate and don't save them when
calling out
2019-01-18 15:35:33 +01:00
Flyinghead 93c81ea5e7 x64 dynarec: only use AVX/SSE3/FMA extensions when available 2019-01-17 17:21:57 +01:00
Flyinghead d1e2db4618 arm64: direct mem access and crash fix
generates direct vmem read & write accesses
trap sigsegv and rewrite using slow path
add w29 to allocatable registers
save x30 in ngen_mainloop prologue (fix libretro crash)
get rid of literals and use pc-rel branching
use explode_spans to allocate regs for V2 and F64 params
minor optimizations and cleanup
2019-01-17 11:05:02 +01:00
Flyinghead 275cf48d41 android x64 build fix 2019-01-16 10:57:16 +01:00
Flyinghead 8658c202f7 revert a change not intended for anything but osx 2019-01-15 21:09:08 +01:00
Flyinghead 9606685cc0 osx: more llvm inline assembly woes 2019-01-15 20:55:45 +01:00
Flyinghead f7a9ad201e OSX: build fix
LLVM inline assembly is compatible with gcc... to a certain extent
2019-01-15 20:35:23 +01:00
Flyinghead 8c6389492e Missing file 2019-01-15 15:11:58 +01:00
Flyinghead a87c0059c8 x64 dynarec optimization
Use register allocation
Implement most opcodes natively
2019-01-15 14:51:55 +01:00
Flyinghead 6c5321ff74 arm64 dynarec 2019-01-14 21:50:13 +01:00
barbudreadmon 3305d431a0 NAOMI: Add sambaa & set parent for samba clones 2019-01-13 09:48:54 +01:00
Flyinghead 2285d2419f unused #def's 2019-01-05 12:39:06 +01:00
flyinghead 1ea3c7af47 Custom tex: Use retro_stat for path handling. Fix deadlock on exit
(win32)
2019-01-05 12:33:47 +01:00
Flyinghead 4a7bb80067 Get rid of /data/ folder in custom textures path. Flip images up/down 2019-01-05 11:12:57 +01:00
Flyinghead 06ae9d6990 Check CDI version to avoid loading any crap as a CDI image and crashing 2019-01-03 16:34:59 +01:00
Flyinghead ed0ec41a12 Custom textures loading and dumping 2019-01-03 16:31:45 +01:00
Flyinghead fbc2cc3d07 Set DC date/time automatically, DC language core option
Removed Extra Depth Scale core option
2018-12-23 13:40:30 +01:00
Flyinghead 025cdaa719 Support for Restart/retro_reset() 2018-12-21 18:10:22 +01:00
Flyinghead 73a22d07a1 Disc swapping support using libretro disc control interface 2018-12-21 15:13:25 +01:00
Flyinghead 268d0bb812 GLES2 only supports 16-bit indexes so convert before uploading to GPU 2018-12-21 15:11:38 +01:00
Flyinghead 8562294fcb Naomi: add more analog axes
Use left and right analog stick and two triggers for up to 6 analog
axes.
2018-12-13 14:49:55 +01:00
Flyinghead 0d9d8d0a5b Naomi: non-encrypted M4 carts support
Fixes sl2007
2018-12-13 13:14:10 +01:00
Flyinghead 56548e156d Use u32 for vertex indices to avoid overflow. Fix ggx15 coin chute issue
Use 32-bit index to allow for more than 64K vertices per frame (alpilot)
Fix unaligned size memory access.
Fix ggx15 coin chute issue by allowing 5 consecutive reads.
Use naomi BIOS for alpilot as airlbios crashes in the test menu.
Add gouraud bit to mask that affects drawing.
2018-12-13 11:34:26 +01:00
Flyinghead 0d448cbb34 Naomi: allow mapping P2 buttons onto P1. Fix coin chute issues.
Mappings for 18 Wheeler, Jambo Safari and Virtual On
2018-12-10 23:23:03 +01:00
Flyinghead e94f31ddea Clip high z vertices
Fixes bogus triangles in Soul Calibur intro and NHL 2K2 missing menu
elements.
2018-12-06 20:52:17 +01:00
Flyinghead e3e6b5944c Unlock the emu thread if waiting for frame finish when loading state
The new synchronous rendering option can cause the emu thread to wait
for the current frame to finish render.
It needs to be awakened when loading a state.
2018-12-04 15:33:14 +01:00
Flyinghead 3a44070a35 Use xxhash for palette hashing. extra depth scale for NHL 2K2
Use xxhash for palette hashing (faster)
Change extra depth scale in rom lut tables and enable it for NHL 2K2
Change 'TV (VBS/Y+S/C)' to 'TV (Composite)'
2018-12-03 14:54:03 +01:00
Flyinghead a4e2803ed6 Skip rendering is TA context is overrun
Fixes strip mode crash in FOTNS
2018-11-29 19:45:19 +01:00
Flyinghead 6e0c66de93 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:12:02 +01:00
Flyinghead 9f73098812 Backport Synchronous rendering option from upstream 2018-11-26 14:48:41 +01:00
barbudreadmon 8092b11be9 Fix some regions & add some missing keys 2018-11-25 13:15:21 +01:00
barbudreadmon 58d7cf6c75 Fix regions for Guilty Gear games 2018-11-24 16:30:51 +01:00
Flyinghead a0a3768479 AW: (regression) bios was being loaded in wrong place 2018-11-24 16:12:26 +01:00
Flyinghead a5f288f5b5 Naomi: 7z archive and split/parent roms support 2018-11-23 20:25:47 +01:00
Flyinghead 0f799de37c rec-x64: don't reset the cycle counter for better scheduling
Add a time slice to the cycle counter instead of resetting it.
Same as other dynarecs. Better precision scheduling.
Fixes Gundam Side Story freeze at boot
2018-11-22 19:09:37 +01:00
mrfixit2001 ad3a2be298 Fix compile fail from math with conflicting types
This commit includes math that calls std::min but can pass two different parameter types (in my case, double and int). 
https://github.com/6alileo/reicast-emulator/commit/500393a02d3ecad934065cf0a8219ed9e7016bca

The std::min function does not support comparing variables of different types. Since the author of this commit already cast one of the parameters, this PR just adds the matching cast on the other parameter. There's a few different ways to resolve but this seemed like the best option.

For reference, this fixes the following compile error: 
In file included from /usr/include/c++/6/vector:60:0,
                 from ./core/types.h:342,
                 from core/libretro/libretro.cpp:4:
/usr/include/c++/6/bits/stl_algobase.h:243:5: note: candidate: template<class _Tp, class _Compare> const _Tp& std::min(const _Tp&, const _Tp&, _Compare)
     min(const _Tp& __a, const _Tp& __b, _Compare __comp)
     ^~~
/usr/include/c++/6/bits/stl_algobase.h:243:5: note:   template argument deduction/substitution failed:
core/libretro/libretro.cpp:2415:123: note:   deduced conflicting types for parameter 'const _Tp' ('double' and 'int')
    vib_stop_time[port] = get_time_ms() + min(1000 * (INC ? abs(INC) * max(POW_POS, POW_NEG) : 1) / FREQ, (int)max_duration);
                                                                                                                           ^
Makefile:751: recipe for target 'core/libretro/libretro.o' failed
2018-11-21 21:29:17 -05:00
Flyinghead db17fcb6cc Naomi: fixes for vathlete, csmash, hotd and more
Load default eeprom from mame rom if present
Fix controls for hotd2 and alpilot
Fix vathlete graphical gltches due to huge negative z values
GD-rom games now have proper game id
Fix csmash crash entering game test mode
2018-11-20 12:59:18 +01:00
barbudreadmon 13053932b8 Ignore region setting if superior to region flag 2018-11-19 18:00:53 +01:00
barbudreadmon 4a57314deb Add a region flag to games 2018-11-19 17:59:04 +01:00
Twinaphex dd973fd665 Merge pull request #406 from 6alileo/master
Add All GD Roms - Flyinghead FTW
2018-11-17 14:33:41 +01:00
Flyinghead e64abb7464 Build fix for android and osx 2018-11-17 10:39:53 +01:00