Commit Graph

1026 Commits

Author SHA1 Message Date
Flyinghead 2c8b5aa7f8 vs2019 build tentative fix 2021-01-04 18:56:15 +01:00
Flyinghead d7fcd3d47c jvs: allow more than 1 player with analog axes
add wsbb and smlg99 input mappings. Issue #152
2021-01-04 10:43:45 +01:00
Flyinghead de260b89af net: launch miniupnp async. filter loopbacked broabcast pkts. dhcp reset
ftspeed network support
delete all dhcp negos when destroying dhcp server
filter broadcasted udp packets coming from self
launch miniupnp async since it takes time to complete (2-4s)
fix unit test
2021-01-03 21:25:27 +01:00
Flyinghead 889fc8256d broadband adapter support 2021-01-02 21:19:50 +01:00
Flyinghead 62a1e29670 modem: do not reject VJ option for Web TV 2020-12-29 18:02:06 +01:00
Flyinghead cc7a292591 macOS: link sdl statically, hide vulkan. naomi: use miniupnp for server port
macOS doesn't need volk or glslang
link sdl statically
add GameController.framework (Xcode)
2020-12-29 11:53:00 +01:00
Flyinghead 9c43a55c42 miniupnpc: fix include dir 2020-12-28 13:15:06 +01:00
Flyinghead e7ae03ded9 modem: use miniupnp to open router ports 2020-12-28 11:31:26 +01:00
Flyinghead 6f27b9b6b7 force wercker on ubuntu 18.04. Minor change 2020-12-27 09:05:55 +01:00
Flyinghead a00aad5fa7 pvr: auto frame skip to replace current and previous synchronous rendering
Restore previous synchronous rendering behaviour (normal auto frame skip)
No frame skipping when disabled
better cpu speed measure over 4 vblanks
2020-12-25 12:08:44 +01:00
Flyinghead 5905b8c148 dsp: don't clear EFREG
pass AICA0203 diag test
2020-12-20 23:19:24 +01:00
Flyinghead 632731bede vmem: map area 4 access to vram
pass DDT0101 diag test
fix vmem handler bug with >= 8 handlers
ch2-DMA: use SB_LMMODE1 for upper mirror
dmac: update SAR and DAR according to CHCR.SM and CHCR.DM
use function templates for vram 32b handlers
clean up
2020-12-20 17:25:28 +01:00
Flyinghead d0d9712545 gdrom: allow 0-len transfer
fixes Pro Pinball Trilogy hang during intro
2020-12-18 19:27:19 +01:00
Flyinghead 0d81c9fb0b sh4: clean dmac module, correct address/len mask, add missing mirror
fix infinite loop
2020-12-18 13:58:36 +01:00
Flyinghead 4ca0b56106 flash: zero initialize 2020-12-18 13:44:40 +01:00
Flyinghead e94e757743 naomi: align SB_GDSTAR on 32-byte boundary
Fixes vtennis (Issue #92)
2020-12-18 13:43:42 +01:00
Flyinghead 34d86500fa compile warnings. debug log. minor changes 2020-12-16 15:12:32 +01:00
Flyinghead 650c3ff8ae pvr: serialize maple_int_pending. don't rend_reset in rend_term 2020-12-16 14:44:45 +01:00
Flyinghead 3f1326a3ac rend: read framebuffer as non-interlaced when possible 2020-12-16 14:40:11 +01:00
Flyinghead 04cd7db2cd pvr: serialize TA render passes
use enum for renderer type
2020-12-15 16:27:34 +01:00
Flyinghead c03cf8eb45 rend: multi-render, delay swap, refactor main ui loop
move ui loop out of hw/pvr
vk: implement multi-rendering, delay swap. Load fb before render pass
fps counter now counts frames, not renders
vk: force ignoreTexAlpha for 565 texture in case the supporting texture
has an alpha channel (RTT). Fixes Alone in the Dark cinematic scenes.
pvr: better detection of frame swapping (FB_R_SOF/FB_W_SOF)
pvr: synchronous rendering now always waits for render in progress
(speed measurement not reliable, render skipped when multi-rendering)
vk: limit swap chain size to 2
2020-12-15 15:09:42 +01:00
Flyinghead 93523df804 pvr: implement tile array region clipping. always draw background
fixes Quake 3 split-screen multiplayer
2020-12-15 14:17:58 +01:00
Flyinghead 9191795b4c pvr: increase PT max poly count
fixes Revolt overrun
2020-12-15 14:15:02 +01:00
Flyinghead d960f8e9f5 lightgun: handle screen stretching, rotation and tall aspect ratio
Issue #139

move jvs stuff into maple_jvs.cpp
2020-12-09 13:48:58 +01:00
Flyinghead a39199d379 clean up 2020-12-07 22:16:51 +01:00
Flyinghead d7c49c6522 naomi: memory leak with decrypted carts 2020-12-07 22:12:16 +01:00
Flyinghead 14393ea6b1 improved microphone emulation. support for linux and windows 2020-12-05 18:47:09 +01:00
Flyinghead 579db85b3b modem: fix various picotcp tcp issues (re-xmit timers, segment split)
modem: delay receiving initial ppp handshake until after sending data
(WinCE)
reduce char receive delay to 143 us
make sure picosocket buffer is empty before shutting down socket
use 536-byte segment for tcp sockets
increase linger delay to 10 sec (avoid sending RST when waiting for FIN)
picotcp: disable window scaling option
dupe ack reception in full window mode should enter dupack mode
pick the correct segment to re-xmit in recover mode
both partial frames should be enqueued when splitting segment
fix wrong size when splitting segment and crash if splitting first one
make sure re-xmit timer is correct in tcp output
2020-12-04 11:23:15 +01:00
Flyinghead 6154cc08db serial: fix maxspeed hang at boot reading from console 2020-12-02 14:44:16 +01:00
Flyinghead adeacd89f4 input: implement reload. remap some naomi games input
implement lightgun reload (dc, naomi)
kcode[] set to 32 bits
revamped mapping for naomi keys
remapped btns for some naomi games
display game button/axes names in UI
2020-12-02 14:40:50 +01:00
Flyinghead 8905410aa4 clean up 2020-11-30 21:59:13 +01:00
Flyinghead ef16842074 awave: fix lightgun trigger and position
fix aw lightgun trigger virtual key with new lightgun map
delay maple dma int when maple bus occupy is set for a lightgun.
raise maple int at vblank in if off screen
nudge reported position to avoid registering as off screen
2020-11-30 21:31:50 +01:00
Flyinghead c6f5a406a7 picoppp: use char instead of u8 2020-11-30 13:05:13 +01:00
Flyinghead 1d17dbd121 modem: avoid spurious retransmit. limit ppp buffer size.
set actual modem receive speed to 48K
picotcp: avoid spurious retransmit after window full. set min RTO to 1
sec.
buffer incoming data until pico socket can accept it.
limit tcp payload to 512 bytes.

Issue #114
2020-11-30 12:52:46 +01:00
Flyinghead 8f77a5482a config/data folders improvements
linux: look for legacy ~/.reicast and ~/.reicast/data
else look for ~/.config/flycast and ~/.local/share/flycast
and ~/.config/reicast and ~/.local/share/reicast
(defaults to flycast)

look for bios files in home folder and data folders (android, windows
,macos), then in game folder.
on linux, search in /usr/share/flycast and /usr/local/share/flycast and
legacy locations
2020-11-26 16:45:57 +01:00
Flyinghead d485da19b7 picotcp: close connecting sockets when notified 2020-11-26 14:08:37 +01:00
Flyinghead 276b59b24e fix compile warnings. non-functional changes 2020-11-25 10:17:08 +01:00
Flyinghead cffb272abd sh4: non-functional changes 2020-11-24 21:29:04 +01:00
Flyinghead 305ab38ac8 naomi: search parent rom path for gdrom 2020-11-24 20:50:50 +01:00
Flyinghead 4dd05ca23f aica: saturate EG when aeg reaches 3bf. non-functional changes 2020-11-24 20:07:10 +01:00
Flyinghead eb2c762214 rec: avoid div32 crash when dividing by 0
Fixes Sakura Taisen 2 floating point exception crash
2020-11-21 20:46:40 +01:00
Flyinghead 99b01536bc reios: fix crash when loading a HLE savestate in a non-HLE session
flashrom pointer wasn't initialized in this case
2020-11-21 20:09:06 +01:00
Flyinghead 525c2dc88c sh4: promote opcode 0 as regular NOP 2020-11-21 20:06:59 +01:00
Flyinghead 47f262a2c6 vk: use normal pipeline for raw fb display
raw fb also needs to be rotated/scaled
oit: draw opaque polys on first frame
2020-11-19 22:29:06 +01:00
Flyinghead 99bfbeb3bc naomi: JVS IO response CRC byte, JVS Self Test command/response
Adds JVS IO response CRC byte, Add JVS Self Test command/response
backport https://github.com/libretro/flycast/pull/972
2020-10-24 15:10:55 +02:00
Flyinghead d7b1ad61f3 aica: make sure lpf cutoff value is > 0
Issue #108
2020-08-31 21:53:33 +02:00
Flyinghead 3bc508deea gdrom: fix D2 disk switching
Issue #107
2020-08-17 09:23:22 +02:00
flyinghead 700994340b cmake: add sdl to vstudio build. Fix WinCE crash 2020-07-23 18:50:55 +02:00
Flyinghead 860425b3cc naomi: zombie revenge analog axes. add puyofevp. fix pokasuka 2020-07-20 12:03:20 +02:00
Flyinghead 4ecf43a08d vulkan: revert to using 3 swap images. fix crash when switching gl/vk
Fix Hello Kitty crash with empty first TR polygon
Fix Test Drive Le Mans crash on invalid textures
Fix wldkickspw crash with invalid TA data
2020-07-11 17:38:41 +02:00
Flyinghead adf5a7e8e4 fix tests. sdl init iisue on rpi3 2020-07-06 17:29:53 +02:00
Flyinghead fee28194fb savestate: save sq_remap, save aw cart state, fix lr aw format
save AW cart state
save sq_remap used for mini-mmu with store queues
allow loading lr aw savestate. upgrade to v11
aica: saturate EG register
savestate: save current TA data
texcache: fix race condition when deleting a texture
handle 1x1 YUV tex as 565
2020-07-06 16:28:53 +02:00
Flyinghead a446199312 g2 dma: use templates. SB_G2APRO support. maple: fix SB_MDAPRO support 2020-06-25 14:49:53 +02:00
Flyinghead 89842c6d30 modem: better handling of reset register 2020-06-24 15:48:05 +02:00
Flyinghead 3694e8e87a flash: select mode. fix sector protection. implement reset 2020-06-24 15:41:12 +02:00
Flyinghead 74aae115ee sh4: implement C and WT MMU bits in cache. Use mem handlers everywhere
o/icache use C and WT bits from mmu to override cache and copy back
settings (fixes Windows CE)
move mem handlers setup out of mmu into sh4_mem. Call in dc_resume and
detect transitions interp -> dynarec to flush caches.
fix ssa tlb miss exception wih slow mmu
2020-06-24 15:23:47 +02:00
Flyinghead 6402c8e7ed maple: check SB_MDAPRO magic number 2020-06-23 19:20:55 +02:00
Flyinghead 8b44ebbdab maple: don't overrun device strings 2020-06-23 18:10:22 +02:00
Flyinghead 959b6344b3 gdrom: fix cd_read2, req_error, req_stat and more 2020-06-17 22:58:26 +02:00
Flyinghead 15a99aeebe aica: internal dma implementation 2020-06-15 21:42:47 +02:00
Flyinghead 8192eea387 maple: msb selection, implement/fake reset, kill and allreq commands
overrun and illegal address ints in strict mode
2020-06-15 17:04:04 +02:00
Flyinghead 5cfed1e482 div32: get rid of edge cases. simplify 2020-06-15 16:56:09 +02:00
Flyinghead 22dcb1ec99 sh4 ocache implementation. IC and OC address/data read/write in P4
ignore SR.RB in user mode instead of forcing it 0
add STRICT_MODE to enable ocache in interpreter
don't flush mmu table when enabling it
fix fixNan64()
2020-06-12 17:35:14 +02:00
Flyinghead 333df13fce sh4 icache implementation. move aica out of sh4/interp.
revert to original div1 impl
serialize rtc clock value
cmake fixes: asan and logging options, -no-pie on x64/linux
2020-06-09 12:02:01 +02:00
Flyinghead 8740f22c0a fix all known div32 issues
support libretro naomi and aw savestates
2020-06-06 18:53:47 +02:00
Flyinghead 0fd51fb52a android: ignore audio latency. skip less frames in synchronous mode
android: use minimum size for audio buffer
alsa: use period size of 1024 instead of 512
hide audio latency option for android, win32 and mac
relax frame skipping formula
2020-06-05 21:16:48 +02:00
Flyinghead 002a05f866 dsp: proper MIXS input shift 2020-05-30 19:57:58 +02:00
Flyinghead 1301103245 maple: fix vmu reset in BIOS. naomi: support P2 buttons mapped to P1 2020-05-29 14:45:12 +02:00
Flyinghead 34575d577c fix sdl+egl build. get rid of USES_HOMEDIR. thread deadlock at exit
fix odroid xu3 build
sdl: use left or right alt+enter to maximize window
deadlock at exit if dc_exit called from emu thread
2020-05-08 18:41:36 +02:00
Flyinghead 8a6dbef775 naomi: don't die if eeprom cannot be updated (network), log instead 2020-05-02 18:24:13 +02:00
scribam 6ee4b6de85 Replace OS_DARWIN by __APPLE__ 2020-04-26 14:19:21 +02:00
Flyinghead aac8b30bce naomi: fake wrungp drive board. marine fishing inputs
set jvs board for dog walking and touch de uno
force region to japan for the same
2020-04-26 11:32:15 +02:00
Flyinghead 2c54dfd132 arm64: check CpuRunning at end of each timeslice. clean up
fixes hang when exiting service menu in kofnw
2020-04-24 19:56:38 +02:00
Flyinghead 482b7427f0 ui: get rid of 100% notif message. avoid logging garbage when canceled 2020-04-24 19:46:23 +02:00
scribam 0b1d739673 MSVC Cleanup 2020-04-23 14:10:49 +02:00
Flyinghead adfe30cf4c osx: allow exit with button. clean exit
terminate network in dc_term to avoid static init order issues
osx: call dc_term before exit
osx: exit app when exit button is pressed (dc_exit)
osx: ignore -NSDoc... app args
2020-04-23 11:46:34 +02:00
Flyinghead bec7a9f452 network: start network before starting game to configure eeprom/flash
do second net sync when comm board is reset
close menu/cancel loading when pressing menu button
2020-04-22 19:11:49 +02:00
scribam 58abddfd27 Compilation fixes for MSVC 2020-04-20 22:17:32 +02:00
Flyinghead 64249eb68e gdrom: shrink gdrom buffer to decent size 2020-04-20 18:53:08 +02:00
Flyinghead 17a2c3644f ui: add loading screen with cancel button. don't freeze ui on load 2020-04-20 18:52:02 +02:00
Flyinghead 06313dd540 naomi: auto configure eeprom and bbsram for network 2020-04-19 21:45:15 +02:00
Flyinghead 98b2a32eae naomi: auto-rotate screen, no widescreen when rot, lightgun as analog
rotate screen for naomi games that need it
disable widescreen when rotating screen
detect lightgun games and enable proper settings
disable model 3 comm board for atomiswave
2020-04-17 22:11:11 +02:00
Flyinghead 3660cf49f4 naomi net: don't xmit the packet number 2020-04-17 18:09:56 +02:00
Flyinghead 7058ffeb61 dsp: fix output shift
fix wrungp ear rape
2020-04-17 18:04:58 +02:00
scribam 62afe5714a Rework cThread to use std::thread 2020-04-15 20:20:30 +02:00
Flyinghead be1f2138e7 naomi: add inputs for wrungp. network error handling/reporting 2020-04-15 19:07:04 +02:00
flyinghead 3495a0b53e
Merge pull request #72 from inada-s/garkun/skip-recvfrom-with-invalid-sock
[MODEM] avoid WSAEINVAL error
2020-04-15 10:43:23 +02:00
Shingo INADA 645c771af2 [MODEM] mark as invalid-socket if failed to bind udp sockets to avoid WSAEINVAL error 2020-04-15 11:44:01 +09:00
Shingo INADA 2d67334cb4 [MODEM] recv tune. set small callback_cycles to recv fllowing data quickly. 2020-04-15 11:27:59 +09:00
Flyinghead a41a81f5dd naomi: network code for model 3 comm board 2020-04-14 17:43:11 +02:00
Flyinghead 6215623640 naomi: add tokyo bus guide 2020-04-13 18:32:58 +02:00
Flyinghead d001b40430 modem: fix isp settings in flash. dc_flash.bin no longer used
fix crash in World Series Baseball when connecting
fix Jet Grind Radio web site access
2020-04-05 19:58:50 +02:00
scribam 1ce40ff0ec Compilation fix for MSVC 2020-04-03 18:55:10 +02:00
Flyinghead d1b29a59d2 vulkan: re-enable vulkan 1.1 on Android. Fix TEST_AUTOMATION
disable vmem32 for Heroes of Might and Magic III
support no vmem in _vmem.cpp
2020-04-03 16:32:53 +02:00
Flyinghead 3f29bac591 pvr: textured background plane
fix for Who Wants to Be a Millionaire
2020-04-03 16:26:00 +02:00
scribam 769770ab81 Replace cMutex by std::mutex 2020-03-30 23:00:43 +02:00
scribam a155282fd0 Cleanup compiler warnings (mostly sign-compare) 2020-03-30 23:00:43 +02:00
scribam e99aac3575 Remove "using namespace std;" 2020-03-30 23:00:43 +02:00
scribam c1b37b56bc Remove "sh4_if.h" and "stdclass.h" from "types.h" 2020-03-30 23:00:43 +02:00
scribam 9a420b0093 Remove macros EMUERROR 2020-03-30 22:18:44 +02:00
scribam 4bf6802855 Cleanup include headers 2020-03-29 14:26:21 +02:00
scribam 427b428718 deps: Update xxHash to version 0.7.3 2020-03-29 13:47:20 +02:00
scribam fef96c125a deps: Update xbyak to version 5.891 2020-03-29 13:47:20 +02:00
Flyinghead f8ca801877 holly: don't die if read/write-only reg is written/read. log instead 2020-03-29 12:55:16 +02:00
scribam 0035871422 Replace RELEASE by NDEBUG 2020-03-29 10:12:32 +02:00
Flyinghead c5a42a57bc limit maple schedule time, allow vram 8-bit reads, minor changes 2020-03-28 12:19:36 +01:00
Flyinghead 96c8353364 pvr: don't discard RTT frames 2020-03-28 12:19:36 +01:00
Flyinghead 8ada1d5320 pvr: defer index building and strip merging, filter out infinite verts
don't reset tileclip_val on each frame (Irides - master of blocks)
spg clean up
2020-03-27 13:03:49 +01:00
tokuio 7e4a31c786 Add game description to roms in file list 2020-03-25 12:49:58 +00:00
Flyinghead c098790f3b naomi: connect C1 VMU fvor P2 2020-03-24 23:22:57 +01:00
Flyinghead 09c439bbe8 naom: VMU support (vonot, sf3zu). Fix otrigger inputs. 2020-03-23 17:48:43 +01:00
Flyinghead 39d81923c9 keyboard support for totd and luptype 2020-03-23 14:09:50 +01:00
Flyinghead f99d7fa262 naomi: add default eeproms 2020-03-22 16:46:16 +01:00
Flyinghead 0c2e95185c support for right analog stick. Fix gunsur2 inputs 2020-03-20 16:57:50 +01:00
Flyinghead 6b2e815b49 naomi: fix monkey ball inputs 2020-03-19 23:38:01 +01:00
Flyinghead e44ed4a8e8 gdrom: don't resume cdda if not playing. stop if cur > end 2020-03-19 17:04:47 +01:00
scribam 6dd35cc811 Add NOMINMAX for MSVC and use <algorithm> 2020-03-16 23:44:06 +01:00
Flyinghead ad3dce1102 fix alignment issues reported by ubsan on x64
Fix chd lzma and zlib buffers alignment
Fix ChannelEx struct alignment
2020-03-14 22:23:13 +01:00
Flyinghead 4e73af0f94 Mem leaks in input mapping/jvs/x11. Fix crash when latin-1 char is input
Fix warnings
2020-03-12 16:09:05 +01:00
Flyinghead aff2b9e1af fix simple texture bleeding case when upscaling. Clean up 2020-03-11 17:55:13 +01:00
Flyinghead 0b6b6339ed nvmem: generate console ID at startup. rec-x64: Call stack alignment
Generate console ID in dc_nvmem.bin if blank. Used by chuchu rocket
login.
Align stack to 16-byte
2020-03-10 14:47:45 +01:00
Flyinghead 015dcf117d naomi: enable lightgun if one is connected 2020-03-09 21:03:54 +01:00
Flyinghead 797dabe11f Add more buttons for arcade games. Show arcade mapping in UI.
Issue #40
2020-03-09 19:44:16 +01:00
scribam 53bde38035 Replace DECL_ALIGN macros by alignas 2020-02-27 22:17:33 +01:00
Flyinghead 21f1517a5f dsp x64: use returned code buffer ptr on windows cuz it's reallocated
fixes dsp crash on windows
2020-02-27 11:52:00 +01:00
Flyinghead 99f04ec753 nuke softrend 2020-02-26 23:41:05 +01:00
Flyinghead f7e811e463 x64 dsp: OSX fix 2020-02-26 19:46:46 +01:00
Flyinghead 091c14c78a X64 dsp jit compiler
fix clamping in arm64 dsp
2020-02-26 18:38:05 +01:00
Flyinghead 6bfde76514 vk: avoid calling List::head() in loops 2020-02-25 16:34:49 +01:00
Flyinghead 0ef54aa16b vram32 small optim 2020-02-25 12:55:26 +01:00
Flyinghead 8a9400ca29 GD: Implement ATA_IDENTIFY as per qemu 2020-02-11 21:25:01 +01:00
Flyinghead 9826afa063 upload all texture mipmap levels to gpu
implemented for gl/gl4/vulkan/oit
don't auto-generate mipmaps in vulkan
simpler/smaller detwiddle table
use std::lock_guard with cMutex
2020-02-07 16:55:32 +01:00
Flyinghead 333b21fac4 Fix .elf support. Init aica irq mask/level during HLE boot
BSC PCTRA is 32-bit wide
2020-02-05 18:02:44 +01:00
Flyinghead dcf5444acc stop cdda when reading sector 2020-02-02 21:15:53 +01:00
Flyinghead b79c074444 axe wchar 2020-01-31 23:51:12 +01:00
Flyinghead aaaf093af7 Allow ejecting and changing the disk while in-game 2020-01-30 19:01:47 +01:00
scribam 4161ca9b07 msvc build fixes 2020-01-28 19:08:22 +01:00
Flyinghead aac665e617 better joystick handling for wldkicks. fix blockpong controls
limit magnitude of joystick for wldkicks
fix blockpong controls (reverse x axis)
2020-01-27 22:08:39 +01:00
Flyinghead 76d7e8b653 naomi: wldkicks inputs 2020-01-26 23:23:59 +01:00
Flyinghead 0d9214df40 replace Array with std::array 2020-01-25 11:00:34 +01:00
Flyinghead 81c9312fb4 naomi: use crc to find roms 2020-01-24 23:55:54 +01:00
Flyinghead 7d33816d25 naomi: fix reboot. clean up
fix reboot (and exiting service menu) by disabling legacy dimm board
emulation
clean up. typo in var name
2020-01-24 23:30:16 +01:00
Flyinghead 48efdac9b4 naomi: open by crc for zip and 7z. add mvsc2u crc rom info 2020-01-24 21:55:12 +01:00
Flyinghead 573a298bba naomi: emulate mazan inputs 2020-01-24 15:43:19 +01:00
Flyinghead 31651c2ac6 more build fixes 2020-01-20 13:49:29 +01:00
Flyinghead 3e6bef3cc0 option to pipe the dc serial port to a pty on linux
allow the use of dcload-serial
2020-01-20 13:22:36 +01:00
Flyinghead 2b389a2142 no div matching for Aqua GT. Set correct input board for mazan
non functional changes
2020-01-15 22:50:07 +01:00
Flyinghead 1b49bdd31e reduce save states size by ~20mb 2020-01-07 20:13:33 +01:00
Flyinghead 73d34a9ab5 aica: generate samples when arm is disabled (dynarec)
Restores sound in Twinkle Star Sprites when dsp is enabled
Fix armwrestler MOV and LDR dynarec errors
Better cycle counting
2020-01-06 20:53:49 +01:00
Flyinghead 13de6b9a1e pvr: avoid TA data buffer overflow and raise Object List overflow int
fixes Ooga Booga crash/hang in offline and online multiplayer
2019-12-23 12:25:45 +01:00