Changelog:
deadlock when pausing/resuming quickly (android)Race condition when pausing/resuming is done from a separate thread (android): the renderer gets a result ready status for the previous emu thread, but waits on the newly created one forever.
Fetch translations & Recreate libretro_core_options_intl.h
fix missing include
libretro: fix translationsIssue #1688
android: clean exit when using the exit hotkeyFinish the activity in dc_exit.
Issue #1713
rcheevos: disable achievements in naomi slaves
aica: don’t batch samplesBatching 32 samples and arm runs causes audio glitches with some wince
games. So run aica 44100 times/sec instead.
Issue #1240
Issue #1605
Fetch translations & Recreate libretro_core_options_intl.h
pvr: avoid infinite loop if tile array is invalidFixes 240pSuite freeze at boot with the libretro core.
deps: update sdl to version 2.30.9
maple: add Full Controller with 2 analog sticks and all buttonsadd AllStatusReq string for purupuru device.
Issue #1171
naomi: improve performance of M1 and M4 carts dmaLimit buffer size to 1 or 2 KB instead of 32 KB.
Only decrypt right before dma transfer.
Fixes frame drops and audio underruns in vf4evoct attract mode.
Issue #1717
atomiswave: set dma speed to 7 MB/s for all aw games and conversionsAW dma transfer rate seems to be lower than naomi.
Fixes Force Five freeze when starting a game.
Fixes opening sequence animation being truncated in kofxi.
Issue #1724
maple: base vmu file name on game ID for multidisk gamesBuild vmu file name with game ID so that all disks of multidisk games
share the same vmu (A1 only, or all with libretro when enabled).
Rename existing vmu file to new format if none exists.
Issue #1556
maple: do a full save of the vmu after loading a stateA partial save might corrupt the vmu file system.
android: disable openmp affinity on some devicesDisable omp affinity on POCO F5, Redmi Note 12 Turbo, Redmi Note 13 Pro
5G and POCO X6 5G to avoid crashes.
naomi: add crc32 to GDROM and AW roms
[Libretro] Add game dir as fall back for arcade BIOSes
get rid of TARGET_NO_EXCEPTIONS
get rid of settings.dynarec.disable_nvmem
refactor sh4_sr_GetFull/sh4_sr_SetFull
sh4: refactor GetDR/SetDR and access to fp registers
sh4: move Sh4RegType & GetRegPtr into sh4/dynarec-arm: use getRegOffset/reg_nofs instead of GetRegPtr
sh4: move sq_buffer into sh4 context
sh4: pass sh4 context to sq write handlers
arm64: mask value operand when calling a write mem handlerAppleClang doesn’t mask the operand in the callee. This must be done in
the dynarec.
See 6115a91
Tentative fix for barcode reader not working on macOS/arm
sh4: refactor interpreter and recompiler with Sh4Executor interface
rec-arm64: fix Store Queue write handlers
sh4: pass context to interpreter funcs. get rid of sh4 regs #define
sh4: build fix. rounding mode refactoring
sh4: test fix
Fetch translations & Recreate libretro_core_options_intl.h
ui: notify user when loading a state fails and why
network: add Golf Shiyouyo 2 ports
sh4: pass sh4 context to dynarecs, sh4cycles and cachesReorder RuntimeBlockInfo members to save space
sh4: move sqWrite func into sh4 context. Simplify usageAllow passing sh4 context to dynarec canonical implementations
Reduce FPCB padding to PAGE_SIZE except on arm32
dynarec: use sh4 ctx to get register pointers. prefer offsetMove restoreHostRoundingMode() into Sh4Context
New macOS app iconcourtesy of @maxtron95
Issue #1731
vk: fix crash when enabling/disabling EmulateFramebufferMake sure to end the current render pass with the previous setting.
Fix initial layout of color attachments in OIT.
Fix missing initial transition after Term/Init in !OIT.
Issue #1734
sh4: split xffr array. Fix FPCB_PAD on windowsSplit xffr[32] into xf[16] and fr[16].
Set FPCB_PAD size to 64_KB. Issue #1736
Get rid of shil_param::reg_aofs
naomi: emulate dimm registers for gd cartEmulate 1.02 dimm board without network so that the bios detects it and
shows the expected GD-ROM SYSTEM boot screen.
Fix rom board serial id issue (error 04) with ikaruga, tetkiwam,
puyofev[j] and sprtjam.
Issue #1735
Add naomigd and naomidev bios definitions (unused).
Use netdimm for mj1 and wccf* series (still not working).
New iOS app iconCourtesy of @maxtron95
Issue #1731
Update Xcode project generator (#1732)* Do not build breakpad in Xcode project, fix `PhaseScriptExecution failed` error and fix Flycast cannot be launched from debugger
* NSLog prettyprint for Xcode 16
audio: add build options for audio backend supportThe added build options USE_ALSA, USE_LIBAO, USE_OSS and USE_PULSEAUDIO allow to
enable/disable specific audio backends in the build. This provides more control
over the used dependencies.
The OSS backend wasn’t enabled in the previous build configuration, consequently
the build option USE_OSS is set to OFF by default.
libchdr: add build option for using system libraryThe added build option USE_HOST_LIBCHDR allows to build with libchdr provided by
the system. The option is disabled by default.
Fetch translations & Recreate libretro_core_options_intl.h
rend: modifier volumes must be clippedModifier volumes should also be clipped when needed.
Implement outside clipping for non-OIT renderers.
OIT renderers are less affected since the shadowed polys themselves are
usually also clipped after shadow is applied.
Fixes overflowing shadows in baserunner cams in WSB 2K1.
naomi: load and decrypt gd-rom on demandShorten load times and avoid ANR on android with libretro when loading a
GD-ROM game. Load and decrypt data by 16 KB chunk when needed.
Issue #1457
Issue #1738
gdrom: update settings and more when swapping disksSet forced and per game settings.
Update game id and save state file name.
Reset cheats and custom textures.
Update game title and window title.
Issue #1748
hle bios: reboot the game when “exit to bios” vector is called
libretro build fix
lua: add build option for Lua supportThe added build option USE_LUA (enabled by default) allows to enable/disable Lua
support in the build. This provides more control over the used dependencies, and
is important especially for OpenBSD and FreeBSD i386 builds, where the build
fails with enabled Lua support, see also [1].
[1] vinniefalco/LuaBridge#302
oss: cleanup and unificationAudio and record initializations are unified by providing helper functions for
opening the audio device and for setting the device parameters. The ioctl calls
are properly checked for errors and log an appropriate error message. The init
fails if the requested parameters are not supported by the device, i.e. 44.1kHz
16bit stereo for playback. This provides consistent behavior with all the other
audio backends.
android: draw onscreen gamepad with imguiGet rid of Renderer::DrawOSD.
gl: make a GlQuadDrawer class.
Draw on-screen gamepad using imgui.
Clean up vgamepad interface.
Fetch translations & Recreate libretro_core_options_intl.h
vk: defer deleting framebuffers in ScreenDrawer and lr contextDefer deleting framebuffers and attachments in ScreenDrawer and lr
context when resizing.
Fixes crash when starting 240pSuite on the lr core.
gl: test glBlitFramebuffer compliance and disable its use if failing
ios: allow virtual gamepad layout customizationUse same display code as android.
Support custom buttons.png.
Allow layout customization as in android.
Save layout in emu.cfg.
Allow transparency setting.
Issue #990
input: implement ramp up/down for analog axes mapped to buttonsFull analog axes now have a ramp up/down of 100 ms when the mapped
button is pressed/released. Works also for keyboards.
Issue #1017
input: fix potential race condition with analog ramp up/downFix a potential race condition on android causing missed inputs with
analog axes bound to buttons.
missing iOS app icon source filesCourtesy of @maxtron95
Issue #1731
allow USE_HOST_LIBCHDR with libretro
naomi: vf4 and mazan input descriptors
android: add mime-type argument to addStorage()
android: add BooleanArray to jni util. refactor using templates
ios, android: load custom vgamepad image. disable unused controlsUser can choose a custom vgamepad image or reset to default.
Unused controls are disabled and hidden based on the game (arcade) or
maple device (console).
ui: never disable Up and Down buttons on iOS. rename source files
naomi: fix issue when creating eeprom. Ignore audio disable.Byte at offset 2 was incorrect.
Ignore disable attract mode audio in BootID.
Remove ikaruga default eeprom.
Issue #1760
Fetch translations & Recreate libretro_core_options_intl.h
win32: create screenshots path if needed. Fall back to Pictures folderAsk Windows to create the Screenshots folder if it doesn’t exist.
Fall back to Pictures folder if the Screenshots folder can’t be
determined.
Issue #1761
gdrom: reduce dma buffer size. reios: schedule dma reads by chunksReduce gdrom dma buffer size to 16 sectors from 32.
Limit serialization of dma and pio buffers to actual content.
reios: schedule transfer of dma data in chunks.
Fixes Soul Calibuf audio drop outs at boot with HLE BIOS (RA).
Issue #1755
gdrom: fix deserialization crashregression due to c860807
Issue #1755
systemsp: input remapping. Input desc for mushiking, dinoking, loveberyAllow input remapping for SystemSP.
Add input descriptors for barcode games: mushiking, dinoking and
love&berry
vulkan: delay updating imgui texture when driver has just been resetFixes crash when selecting a custom gamepad layout .png (android)
android,ios: arcade vgamepad layout. android vgamepad rewriteRefactor common virtual gamepad code.
Distinct layouts for console and arcade.
Add arcade buttons 5 and 6, insert card button, service mode toggle.
System SP support
android: fix scaling when editing vgamepad. vgamepad code clean up
better CI job names
Pro Pinball needs copy to vram. remove Nightmare Creatures widescreenIssue #1763
sdl: don’t run null haptic effects. Stop effects insteadTentative fix for Issue #1766
ssa: Fix wrong opcode comparison (#1769)* ssa: Fix wrong opcode comparison
* ssa: handle 32 bits shift case first (shld, shad)
Co-authored-by: flyinghead
Merge remote-tracking branch ‘origin/master’ into dev
deps: update sdl to version 2.30.10
ci: update freebsd and openbsd versions
ssa: fix regressiondue to fff03f6
Issue #1773
Merge remote-tracking branch ‘origin/master’ into dev
naomi: set offscreen sensor when reloading. fix wldkicks PCB inputsMost games using analog inputs for lightguns also have an offscreen
sensor (lupinsho, mok, hotd2, confmiss). Activate it when reloading or
shooting offscreen.
Fix World Kicks PCB inputs.
arcade: add input descriptors for most games
sh4: SCIF DR bit can’t be reset if rx fifo isn’t emptyFixes manic panic periodic touchscreen errors.
lightgun: wiggle the reported lightgun position in a 2×2 squareFixes claychal not registering shots in menus.
battle cable: notify user when data first received from peerDocument SCIF register bits.
gdrom: add support for hardware CD-ROM devicesUse libcdio to read CD/DVD/BD drives (linux, windows, bsd)
Get rid of old ioctl win32 driver.
Add detected CDROM devices to game list.
Issue #1654
win32: force libcdio static linkIssue #1654
rend: support planar VQ texturesFixes gens4all emu in teenage mutant ninja turtle collection.
Issue #868
ui: add cancel button when inserting a diskIssue #1566
gdrom: stop cdda playback when reaching session lead outIssue #1654
win32: fix opening CD drive on command line. libretro build fix
audio: reset buffer on loadstate/term. Fix null audio driver on windowsEliminate audio clicks when loading a state or starting the next game.
Fix overflow in null audio driver on windows. Detect fast forward and
reset time counter.
vgamepad: hide btn0 and map reload to btn1 for lightgun games
lightgun xhair: centralize logic in crosshairNeeded()
Fetch translations & Recreate libretro_core_options_intl.h
vgamepad: enable touch mouse when lightgun usedUse unique touch mouse class for iOS and Android.
Enable touch mouse for arcade lightgun games or when maple device A is a
lg. Disable it otherwise.
android: only display controllers that actually send events, including
system mouse and keyboard. Use separate Touch Mouse and System Mouse.
iOS: fix missing button input for touch mouse. Don’t bubble up touch
events that hit vgampad buttons or controls.
ui: show boxart cover when starting a game
rend: get rid of globals for fog/palette updates & tex cache flushAdd state vars to Renderer
Use events to detect loading a state and terminating the game.
Don’t present last rendered frame after game terminated.
rend: split texture conversion routines into their own file
sh4: work around previous SCIF issues when loading a stateForce SCIF_SCBRR2 to 8 bits when loading a state.
See e03e11b and
6115a91.
fix build without dynarec
rend: last frame was sometimes presented after the game is stoppedWhen the clearLastFrame flag is set, renderers should return false from
Present() and RenderLastFrame() until a new frame is rendered.
input: dreamconn+ support prototypeIssue #1305
fix windows build
cheat to work around fur fighters hangingRoot issue seems to be TCNT0 returning the same value twice, which
breaks the game calculation of the game speed/frame rate.
Issue #145
more windows build fix
dreamconn: detect dreamconn+ with VID/PID. Send maple data as text.Create DreamConn gamepad when detected.
Send/receive maple data in ascii dump form.
Simplify maple device creation.
Issue #1305
libretro: set an SDL hint to keep flycast SIGSEGV handlerThanks to mrfixit2001 for helping troubleshoot the issue.
ios: make the keyboard remappable
picotcp: Resolved memory leakupstream
tass-belgium/picotcp@83527c6
picotcp: add socket event before socket is deletedSocket callback is called with PICO_SOCK_EV_DEL just before the socket
is deleted. After returning from the callback, the socket pointer is no
longer valid.
picotcp: Fixed bug in tcpopt_len_check (rolling back index).upstream
virtualsquare/picotcp@f569ed8
picotcp: Discard incoming TCP segments with zero-len optionsupstream
virtualsquare/picotcp@7aa2885
picotcp: Integer Overflow in pico icmp4upstream
virtualsquare/picotcp@cc923d2
picotcp: accept PSH flag in SYN+ACK packetsWindows CE adds the PSH flag to SYN+ACK packets, which isn’t normally
valid, so just ignore the flag. See dcgamespy filter in dreampi.
sdl: disable rumble when rumble power is set to 0Issue #1766
Issue #1783
net: add asio. use it for the gdb agent
dreamconn: send buzzer messages. Rename controller. Use asio iostreamIssue #1305
Fetch translations & Recreate libretro_core_options_intl.h
dreamconn: send data with socket to avoid fragmentation. Build fixIssue #1305
dreamconn: open pause menu when LT+RT+Start is pressedIssue #1305
Merge remote-tracking branch ‘origin/dev’
picotcp: support threads with msvc. Fix msvc pragma push issueEnable threading support with msvc, similar to posix.
Fix missing pragma pop after picotcp include files
Fix crash when reading 2448-byte sectorsFixes MINIDUMP-5J0, MINIDUMP-5M7, MINIDUMP-5M8, MINIDUMP-5MA,
MINIDUMP-5MF
ci: force ubuntu-22.04 on libretro-x86_64-pc-linux-gnu target
build: drop unsupported architectures
Generate Xcode project which can support both iOS and iOS Simulator
rend: reset scissoring before drawing final modvol quadSee d618abc
Issue #1797
fix perf regression on macOS and iOS. Add Silent Scope (JP) identifier.Regression introduced in f3a3364
CopyToVRAM wasn’t enabled for Silent Scope (JP). Issue #1796
CMake: fix build on Windows
Atualizações:
Deadlock ao pausar/retomar rapidamente (Android)
Condição de corrida ao pausar/retomar a partir de uma thread separada (Android): o renderizador recebe um status de “resultado pronto” para a thread anterior do emulador, mas espera indefinidamente pela nova thread criada.
Buscar traduções & recriar libretro_core_options_intl.h
Corrigir include ausente
Libretro: corrigir traduções – Issue #1688
Android: saída limpa ao usar a tecla de saída
Finalizar a atividade em dc_exit.
Issue #1713
Rcheevos: desabilitar conquistas em escravos Naomi
AICA: não agrupar amostras
Agrupar 32 amostras e rodar em ARM causa falhas de áudio em alguns jogos WinCE. Portanto, execute a AICA 44100 vezes por segundo.
Issue #1240
Issue #1605
Buscar traduções & recriar libretro_core_options_intl.h
PVR: evitar loop infinito se o array de tiles for inválido
Corrige o congelamento no boot da 240pSuite com o core libretro.
Deps: atualizar SDL para a versão 2.30.9
Maple: adicionar controle completo com 2 sticks analógicos e todos os botões
Adicionar a string AllStatusReq para o dispositivo Purupuru.
Issue #1171
Naomi: melhorar o desempenho dos carts M1 e M4 DMA
Limitar o tamanho do buffer para 1 ou 2 KB ao invés de 32 KB.
Descriptografar apenas antes da transferência DMA.
Corrige quedas de frames e underruns de áudio no modo de atração de VF4evoct.
Issue #1717
Atomiswave: definir a velocidade DMA para 7 MB/s para todos os jogos e conversões AW
A taxa de transferência DMA da AW parece ser mais baixa que a da Naomi.
Corrige o travamento de Force Five ao iniciar o jogo.
Corrige a animação da sequência de abertura em KOFXI.
Issue #1724
Maple: basear o nome do arquivo VMU no ID do jogo para jogos multidisco
Construir o nome do arquivo VMU com o ID do jogo para que todos os discos dos jogos multidisco compartilhem o mesmo VMU (A1 apenas ou todos com libretro quando habilitado).
Renomear o arquivo VMU existente para o novo formato, se não existir.
Issue #1556
Maple: fazer um save completo do VMU após carregar um estado
Um save parcial pode corromper o sistema de arquivos do VMU.
Android: desabilitar a afinidade OpenMP em alguns dispositivos
Desabilitar afinidade OpenMP no POCO F5, Redmi Note 12 Turbo, Redmi Note 13 Pro 5G e POCO X6 5G para evitar travamentos.
Naomi: adicionar CRC32 para GDROM e AW ROMs
Libretro: adicionar diretório de jogos como fallback para BIOS de arcade
Remover TARGET_NO_EXCEPTIONS
Remover settings.dynarec.disable_nvmem
Refatorar sh4_sr_GetFull/sh4_sr_SetFull
SH4: refatorar GetDR/SetDR e acesso aos registradores FP
SH4: mover Sh4RegType & GetRegPtr para o sh4/dynarec-arm: usar getRegOffset/reg_nofs em vez de GetRegPtr
SH4: mover sq_buffer para o contexto sh4
SH4: passar contexto sh4 para os manipuladores de escrita sq
Arm64: mascarar o valor do operando ao chamar um manipulador de escrita de memória
O AppleClang não mascara o operando na chamada, o que deve ser feito no dynarec.
Ver 6115a91
Correção tentativa para o leitor de código de barras não funcionar no macOS/arm
SH4: refatorar o interpretador e recompilador com a interface Sh4Executor
Rec-arm64: corrigir manipuladores de escrita de fila de armazenamento
SH4: passar o contexto para as funções do interpretador. Remover #define dos registradores sh4
SH4: correção de compilação. Refatoração do modo de arredondamento
SH4: correção de teste
Buscar traduções & recriar libretro_core_options_intl.h
UI: notificar o usuário quando falhar ao carregar um estado e o motivo
Network: adicionar portas Golf Shiyouyo 2
SH4: passar contexto sh4 para dynarecs, sh4cycles e caches
Reordenar os membros do RuntimeBlockInfo para economizar espaço.
SH4: mover a função sqWrite para o contexto sh4. Simplificar o uso
Permitir passar o contexto sh4 para implementações canônicas do dynarec
Reduzir o preenchimento do FPCB para PAGE_SIZE, exceto no arm32
Dynarec: usar o contexto sh4 para obter ponteiros de registradores. Preferir offset
Mover restoreHostRoundingMode() para o Sh4Context
Novo ícone do aplicativo para macOS
Cortesia de @maxtron95
Issue #1731
VK: corrigir crash ao habilitar/desabilitar EmulateFramebuffer
Certifique-se de terminar o pass de renderização atual com a configuração anterior.
Corrigir o layout inicial dos anexos de cor em OIT.
Corrigir a transição inicial faltando após Term/Init em !OIT.
Issue #1734
SH4: dividir o array xffr. Corrigir FPCB_PAD no Windows
Dividir xffr[32] em xf[16] e fr[16].
Definir o tamanho de FPCB_PAD para 64_KB.
Issue #1736
Remover shil_param::reg_aofs
Naomi: emular os registradores DIMM para o cartucho GD
Emular a placa DIMM 1.02 sem rede para que o BIOS detecte e mostre a tela de inicialização esperada do GD-ROM.
Corrigir o problema do ID serial da placa de ROM (erro 04) com jogos como Ikaruga, Tetkiwam, Puyofev[j] e Sprtjam.
Issue #1735
Comentários