sergystepanov
9e6efc2319
Update retropad input
2025-12-30 14:36:48 +03:00
sergystepanov
1d5bae0c62
Add analog triggers and pack axes into atomic int64
...
- Pack 4 analog axes (LX, LY, RX, RY) into single int64 for atomic access
- Pack L2/R2 analog triggers into single int32
- Reduce memory per port from 20 to 16 bytes
- Reduce atomic stores per SetInput from 5 to 3
- Add RETRO_DEVICE_INDEX_ANALOG_BUTTON support for analog trigger queries
- Fallback to digital (0/0x7FFF) for non-trigger analog button queries
Wire format: [BTN:2][LX:2][LY:2][RX:2][RY:2][L2:2][R2:2] (14 bytes)
2025-12-29 20:20:55 +03:00
sergystepanov
368bae8c07
Swap mutex to atomics in keyboard input
2025-12-28 21:25:33 +03:00
sergystepanov
58a19affcb
Clean SDL/OpenGL functions
2025-12-27 01:58:14 +03:00
sergystepanov
8754a5edfa
Tweak OpenGL framebuffer
...
Force alignment for GL ReadPixels and skip unbinding last framebuffer which makes it a bit faster.
2025-12-26 16:17:37 +03:00
sergystepanov
aeb41008c9
Remove room watchers
2025-12-24 21:25:03 +03:00
sergystepanov
059e19d790
Remove com.Uid from the API
2025-12-24 21:23:19 +03:00
sergystepanov
baa9bad6f8
Update dependencies
2025-12-22 15:38:17 +03:00
sergystepanov
94e13cb93b
Clean api
2025-12-22 15:37:04 +03:00
sergystepanov
c800dd4bf9
Fix with go fix
2025-12-22 15:08:50 +03:00
sergystepanov
7c91d200e4
Update Go version to 1.26rc1
2025-12-17 23:12:50 +03:00
sergystepanov
d45daeab7a
Tweak room join/creation logic
2025-12-15 18:42:41 +03:00
sergystepanov
b3ccea5f0e
Refactor media buffer
...
Mostly cleanup.
2025-12-15 15:52:46 +03:00
sergystepanov
3178086dd7
Revert due to weird 32KHz mGBA issues
...
(fix later)
2025-12-14 22:29:27 +03:00
sergystepanov
1e4e5b3c65
Clean media buffer
2025-12-14 22:15:28 +03:00
sergystepanov
7c8e74716d
Disable mGBA low-pass filter
2025-12-14 22:14:55 +03:00
sergystepanov
46a5799079
Fix media tests
2025-12-14 18:54:06 +03:00
sergystepanov
9feb788108
Make speexdsp statically linked
2025-12-14 17:01:04 +03:00
sergystepanov
e2f3e005ef
Fix speex build libs
2025-12-14 16:31:13 +03:00
sergystepanov
9d54ea4c49
Add and use Speex audio resampler
2025-12-14 16:24:35 +03:00
sergystepanov
671e875f12
Add input cache for retropad, keyboard and mouse
2025-12-14 13:53:21 +03:00
sergystepanov
f708fce112
Revert "Try atomic-based locks in the same thread execution loop instead of a bunch of mutexes."
...
This reverts commit 460c466053 .
2025-12-14 13:30:45 +03:00
sergystepanov
460c466053
Try atomic-based locks in the same thread execution loop instead of a bunch of mutexes.
2025-12-14 13:18:34 +03:00
sergystepanov
84ad0a4cac
Add audio resampling option
...
You can now select between linear interpolation and nearest-neighbor resampling algorithms.
2025-12-13 23:56:38 +03:00
sergystepanov
129690e901
Fix map test
2025-11-22 22:21:05 +03:00
sergystepanov
9191861cab
Use iterators in the custom map implementation
2025-11-22 22:09:38 +03:00
sergystepanov
c05e42f597
Cleanup nanoarch.go
2025-11-22 21:20:16 +03:00
sergystepanov
09a0c9c3f2
Revert "Add user input caching"
...
This reverts commit 859d0c8f1a .
2025-11-22 17:46:07 +03:00
sergystepanov
859d0c8f1a
Add user input caching
2025-11-22 17:22:40 +03:00
sergystepanov
baaeaf43b1
Add config option for logging dropped frames
2025-11-22 12:32:56 +03:00
sergystepanov
76b376aef7
Add config option for skipping late video frames
2025-11-22 11:59:08 +03:00
sergystepanov
3df6a24a0a
Skip video frames when they are late
2025-11-21 22:35:33 +03:00
sergystepanov
efa7a1d7b5
Update outdated Docker build
2025-11-21 20:44:27 +03:00
sergystepanov
5c6406c1e7
Implemented a busy loop for the emulation ticker.
...
This replaces the low-precision, OS-dependent time ticker with a CPU spin loop that performs continuous target frame time checks and corrections.
2025-11-21 20:13:27 +03:00
sergystepanov
3392251dda
Update dependencies
2025-11-20 00:36:13 +03:00
sergystepanov
bbad4539b1
Update libretro.h
2025-11-20 00:33:03 +03:00
sergystepanov
6b0d7c0ce1
Update Go to 1.25.0
2025-08-15 14:51:20 +03:00
sergystepanov
e03fbadcaa
Update dependencies
...
go: upgraded github.com/VictoriaMetrics/metrics v1.38.0 => v1.39.1
go: upgraded github.com/go-viper/mapstructure/v2 v2.3.0 => v2.4.0
go: upgraded github.com/klauspost/cpuid/v2 v2.2.10 => v2.3.0
go: upgraded github.com/knadh/koanf/v2 v2.2.1 => v2.2.2
go: upgraded github.com/minio/crc64nvme v1.0.2 => v1.1.0
go: upgraded github.com/minio/minio-go/v7 v7.0.94 => v7.0.95
go: upgraded github.com/philhofer/fwd v1.1.3-0.20240916144458-20a13a1f6b7c => v1.2.0
go: upgraded github.com/pion/logging v0.2.3 => v0.2.4
go: upgraded github.com/pion/rtp v1.8.19 => v1.8.21
go: upgraded github.com/pion/sdp/v3 v3.0.14 => v3.0.15
go: upgraded github.com/pion/turn/v4 v4.0.2 => v4.1.0
go: upgraded github.com/pion/webrtc/v4 v4.1.2 => v4.1.3
go: upgraded golang.org/x/crypto v0.39.0 => v0.41.0
go: upgraded golang.org/x/net v0.41.0 => v0.43.0
go: upgraded golang.org/x/sys v0.33.0 => v0.35.0
go: upgraded golang.org/x/text v0.26.0 => v0.28.0
2025-08-08 19:41:17 +03:00
sergystepanov
42b003db62
Verifies during startup if the system can run the emulator
...
This check can be disabled with the emulator.failFast = false config option. Right now it checks SDL2 video context creation.
2025-06-20 18:30:17 +03:00
sergystepanov
d8eed66a1d
Update dependencies
2025-06-20 18:30:17 +03:00
sergystepanov
8083ba086b
Use /usr/bin/env in the shebang line of shell scripts to ensure portability
2025-05-28 08:19:02 +03:00
sergystepanov
02210f1f8d
Remove unnecessary C bridge functions
2025-05-18 12:46:32 +03:00
sergystepanov
817a19c757
Fix the circle-pad's roundness
2025-05-16 12:15:37 +03:00
sergystepanov
36da07f277
Use the actual state size when loading ROMs
2025-05-03 16:35:21 +03:00
sergystepanov
83056bbf4f
Update dependencies
2025-05-03 15:57:41 +03:00
sergystepanov
37a4a80996
Use the save state size before each save/load call
2025-05-03 15:55:26 +03:00
sergystepanov
9d4256306e
Add missing C function header for Go debugger
2025-05-02 10:34:22 +03:00
sergystepanov
ddfc9249ec
Fix some user slot race conditions
...
In cases where HasSlot() and Reserve() operations are delayed, multiple users may incorrectly be granted a slot due to race conditions.
2025-05-02 10:06:23 +03:00
sergystepanov
a431b7050f
Update dependencies
2025-04-17 09:11:26 +03:00
sergystepanov
debd4b23df
Disable default static build
...
It is broken with SDL2 on Windows
2025-04-17 09:11:26 +03:00