Commit Graph

213 Commits

Author SHA1 Message Date
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 1f95eb243c Fix video choppiness 2018-06-07 19:06:16 +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
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 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
Nicolas HOUDELOT 5c343a219c fix typo 2018-03-05 01:57:00 +01: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
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
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
Twinaphex a5b7011c57 Merge pull request #929 from Hyell/master
Multiplayers with configuration file
2016-05-15 14:48:40 +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
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
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
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 af01baae75 linux/softrend: Optional via makefile, sse4.1 detection 2015-12-14 02:40:23 +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 b59ca13cfe Implemented PuruPuru device
Includes a simple XInput implementation for Windows.
2015-12-07 21:21:03 -03: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 56f8ffac0e Merge pull request #807 from randomstuff/nixprof
Nixprof: some enchancements
2015-09-04 19:55:19 +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 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 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 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 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
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 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
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 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
Stefanos Kornilios Mitsis Poiitidis ca83428fa5 naomi: Fix linux builds 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 a0175c8011 naomi: Don't spam on DIMM board detection reads. It's disabled for now. 2015-08-11 19:13:12 +02:00