Commit Graph

603 Commits

Author SHA1 Message Date
Flyinghead 492e771272 Content browser (WIP)
Get rid of the renderer thread. It is now the main/UI thread on all
platforms. The emulator runs in a separate thread.
Content browser displayed at startup.
2019-02-25 17:52:53 +01:00
flyinghead 56be9f462b xinput: fix rumble 2019-02-22 19:53:26 +01:00
Flyinghead a39503dd56 rumble support for xinput and evdev 2019-02-22 19:23:03 +01:00
Flyinghead 9526fada5e Added RenderLastFrame() to Renderer interface
implement screen scaling for per-pixel renderer
fix output FBO not being freed/recreated when GL context is reset
refactor DrawQuad on per-pixel renderer
2019-02-19 11:36:59 +01:00
Flyinghead 810182c4fe Scale down native resolution setting 2019-02-19 00:49:24 +01:00
Flyinghead e426bc8058 android: call eglMakeCurrent() before rendering or deleting context
Flush texture cache and terminate gui before releasing the EGL context
2019-02-18 13:14:12 +01:00
Flyinghead 4c1acfeab1 android: native egl surface
fps counter using imgui
restart emulator with new game in same process
2019-02-18 00:25:06 +01:00
Flyinghead 5e65d2a19d Per-game configuration: create/delete from gui
Removed unused settings
Per-game setting can override any setting
Built-in per-game settings can be overriden
2019-02-16 14:25:54 +01:00
Flyinghead 35bb81b195 fix some printf format strings 2019-02-16 14:16:50 +01:00
Flyinghead edba937b6f Save last rendered frame if gl driver doesn't preserve the swap buffers
Fixes flashing screen with nvidia shield when no frame is rendered
2019-02-14 12:40:17 +01:00
Flyinghead 49c432f041 arm64: fix DSP dynarec crash on some platforms 2019-02-13 14:23:47 +01:00
Flyinghead 8b5c2a3fac New input handling/mapping system, SDL only for now. Gui wip 2019-02-12 11:30:24 +01:00
Flyinghead 1fcfb6b10a Better fix for ImGui not showing on OSX
Enable vixl debug to track dsp crash
2019-02-09 15:12:35 +01:00
Flyinghead 7e4a271ce7 Fix ImGui on OSX 2019-02-08 10:22:53 +01:00
flyinghead 3cdd39170d win32: call os_DoEvents on the emu/main thread and other fixes 2019-02-07 19:20:10 +01:00
Flyinghead 87aacd50d2 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-02-07 10:37:33 +01:00
Flyinghead 1802c022fd UI with ImGui 2019-02-06 19:57:13 +01:00
Flyinghead a9b62164c5 No network if no threads 2019-02-06 18:42:45 +01:00
Flyinghead 90ad16317f arm64 dsp: fix stack order 2019-01-25 15:38:55 +01:00
Flyinghead fca6f3cecb dsp arm64: fix crash when VIXL_DEBUG is off 2019-01-24 21:47:55 +01:00
Flyinghead 08473d765a android build fix 2019-01-24 09:58:13 +01:00
Flyinghead 91cfd4b2f7 Reserve and allocate maximum RAM/VRAM/ARAM in all cases
Reserve enough virtual memory space for DC and Naomi
Allocate dynarec entry point tables for max possible ram
Free mem and release vmem on exit
2019-01-24 09:48:58 +01:00
Flyinghead 0cce6cc5a5 Clean up and comments. No functional change 2019-01-24 09:40:14 +01:00
Flyinghead 1501e2273d Don't enable the dsp interpreter if using the dynarec 2019-01-23 22:59:00 +01:00
Flyinghead 8c7f9105a1 dsp dynarec: missing commit 2019-01-23 22:46:05 +01:00
Flyinghead 3a064cd068 DSP dynarec for arm64 2019-01-23 21:14:51 +01:00
Flyinghead 9f3f13eef1 aica arm dynarec for arm64 2019-01-21 13:08:53 +01:00
Flyinghead da07d88b03 No need to save the RTC value anymore 2019-01-19 16:49:00 +01:00
Flyinghead cd4e4cbdc9 x64 dynarec: check if extension is supported by cpu. seh on win32
Check if FMA/AVX/SSE3 is supported before using it
fully naked main loop in win32 with proper seh directives
win32: more xmm regs to allocate and no need to save them when calling
out
2019-01-18 17:02:50 +01:00
flyinghead ed3f866835 win32 build fix 2019-01-16 17:42:36 +01:00
Flyinghead f852480b88 OSX: build fix 2019-01-16 14:44:40 +01:00
Flyinghead cb8e81d473 arm64: direct memory access and jit rewrite
generates direct vmem read & write accesses
trap sigsegv and rewrite using slow path
add w29 to allocatable registers
get rid of literals and use pc-rel branching
minor optimizations and cleanup
2019-01-16 13:04:16 +01:00
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
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
Flyinghead fc05727538 dynarecs clean-up
move GetRegPtr and ngen_FailedToFindBlock to sh4/dyna
2019-01-11 23:52:20 +01:00
Flyinghead 0f026552c9 fix comments 2019-01-11 15:54:03 +01:00
Flyinghead a9a2aad8f6 arm64: use register spans allocation. Implement some opcodes natively 2019-01-09 16:35:23 +01:00
Flyinghead 67a4eb8f1f arm64 dynarec using vixl 2019-01-07 21:50:46 +01:00
Marcel Szewczyk 302bfcd582
Merge branch 'master' into mar753/render-to-texture-with-options 2018-12-30 18:26:31 +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 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 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 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 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 4ec078441e Naomi: fix GD-rom games id 2018-11-17 19:27:09 +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 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
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
Marcel Szewczyk 5f19eb7ae8 Rtt menu options are now handled by GLES 2018-11-11 22:01: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
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
baka0815 bf3d1b2186
Merge pull request #1453 from luserx0/master
Documentation additions
2018-11-02 10:13:25 +01:00
Flyinghead 5e59901e70 OSX build fixes 2018-10-30 11:29:30 +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 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 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
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
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
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
flyinghead ebca83e56e Naomi: fix raw BIN/DAT files loading on win32 2018-10-24 10:34:50 +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 e8a6835972 Naomi: force eeprom save. Ignore JVS node id if outside range 2018-10-21 02:50:08 +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 d27d4f9b00 Naomi: fix for ARM 2018-10-18 09:55:17 +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
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 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 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 3f791d6f04 Merge OIT renderer into master 2018-10-04 10:29:23 +02: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
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 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 d81a3cd720 save states: fully restore the maple devices when loading a state 2018-09-29 16:13:07 +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