CasualPokePlayer
c9666a5647
[GPGX] Add offscreen shot control, make lightgun inputs always use the correct screen width/height
...
Fixes #4120
2024-11-23 22:22:26 -08:00
kalimag
2bd2aed4aa
Improve Lua REPL handling of statements (squashed PR #4026 )
...
* Improve Lua REPL handling of statements
Stop printing syntax error messages when executing variable assignments etc.
* Move doc comments to interface
* Simplify pattern matching expression
* Use reference equality to test for console output
* Revert "Use reference equality to test for console output"
This reverts commit 875bc3c41e
.
* Use `_messageCount` to test for console output
2024-11-23 21:41:31 +10:00
feos
7e9e2d553c
puae: fix fps
2024-11-22 17:32:37 +03:00
YoshiRulz
223a370713
Revert "POC for `[Dependency]` (eager asm loading)"
...
This reverts commit d23e771a39
.
Had no effect on where in the startup a `TargetInvocationException` was thrown, so I'm guessing the attribute has no purpose anymore.
2024-11-22 09:58:12 +10:00
YoshiRulz
d23e771a39
POC for `[Dependency]` (eager asm loading)
2024-11-22 09:39:16 +10:00
feos
90ca8ea6ca
amiga icon
2024-11-21 21:18:22 +03:00
feos
1ec2a9a318
puae: keyboard image
2024-11-21 18:09:36 +03:00
feos
d3713a6cba
puae: fix crash on null settings
2024-11-21 17:30:43 +03:00
feos
118e2876a4
puae: fix framerate and resolutions, cleanup
...
todo: av dumper dies in ntsc mode on frame 11...
2024-11-20 22:10:56 +03:00
CasualPokePlayer
2a0870234e
Fix tracelogger layout
2024-11-19 23:40:05 -08:00
feos
5bdb3b24c6
puae: disable fastmem for a1200
...
there are games that require this machine and 0 fastmem. games that require non-zero fastmem on this machine are currently not supported (HDs, CDs, and WHDs).
2024-11-18 21:47:35 +03:00
CasualPokePlayer
89d76ef6cb
Fix N3DSHasher with seed crypto
2024-11-17 16:27:51 -08:00
YoshiRulz
02094fe780
Fix enum comparison in PUAE ctor
...
fixes 15af4219c
2024-11-18 04:48:59 +10:00
feos
15af4219cd
no magic
2024-11-17 19:45:47 +03:00
feos
43b1dfa4b8
close #4102 (puae floppy speed)
2024-11-17 19:43:51 +03:00
CasualPokePlayer
6d8f616dde
Add CIA hashing to N3DSHasher
...
In practice this won't be used (since we can just hash the installed title executable directly), but might as well keep a reference C# impl in case we want to use it.
2024-11-16 13:51:40 -08:00
feos
ef307c1e69
puae input: fixed?
2024-11-16 22:04:52 +03:00
CasualPokePlayer
14d5f5595c
Fix gamedb
...
fixes 9fd58a766a
2024-11-15 20:25:54 -08:00
Morilli
10fdfdd6dd
fix GmvImport's six button controller handling
...
- closes #3797 , closes #4109
2024-11-15 17:08:10 +01:00
CasualPokePlayer
f173d0f992
Add platform framerates for Saturn
2024-11-14 21:02:26 -08:00
CasualPokePlayer
2c7245d751
Add IsSTV for Saturnus movies with ST-V, cleanup default movie header values code
2024-11-14 20:18:39 -08:00
CasualPokePlayer
8b356c50fa
Add mnemonics for ST-V
2024-11-14 20:09:57 -08:00
CasualPokePlayer
c4bd436c5c
Fixup ST-V input device selection
...
No multi-tap with ST-V, and it'll get overrides for the ports anyways
2024-11-14 19:50:18 -08:00
CasualPokePlayer
8708fc3e35
c# side changes for ST-V with Saturnus
2024-11-14 17:35:43 -08:00
CasualPokePlayer
9fe5b316b3
Adjust Saturnus's settings for core updates
2024-11-14 01:39:41 -08:00
CasualPokePlayer
a8d86e7af0
Mark PSX on PSP BIOS files as unacceptable
...
Policy here is non-3.0 BIOS files are unacceptable: they aren't what mednafen is expecting
2024-11-14 00:11:44 -08:00
Morilli
926a88b11a
fix axis value editing logic in TAStudio
...
- closes #4115
specifically allow typing without immediately clamping to the min value when the user isn't finished
2024-11-13 13:23:54 +01:00
Morilli
7477aa3359
Fix saturnus setting overrides
...
- fixes #4114
2024-11-13 11:10:19 +01:00
CasualPokePlayer
c44a3a6b67
Fix 3DS hasher bug
2024-11-13 01:08:44 -08:00
CasualPokePlayer
ab4cb30011
Implement hashing for 3DS roms
...
TODO: Add gamedb entries
2024-11-13 00:12:16 -08:00
YoshiRulz
699fc8d198
Move `Bk2MnemonicLookup` to `BizHawk.Emulation.Common`
...
fixes a0800862b
(PR #3782 )
2024-11-13 16:15:02 +10:00
YoshiRulz
f9d3d91d34
Fix width for SNES Action Replay cheatcode decoder, add test case
2024-11-12 02:41:17 +10:00
YoshiRulz
ae6ff1dac9
Fix SNES Action Replay cheatcode decoder
...
seems to be a typo from d0db4188d3
(4bfb4ab00/#1867)
2024-11-12 01:54:05 +10:00
Morilli
acb14cf07d
fix middle mouse button input bind
...
half the code was using `WMouse M`, the other `WMouse C`. I think `WMouse M` makes the most sense.
2024-11-11 02:47:05 +01:00
CasualPokePlayer
b0540bf6d2
Change axis button thresholds
...
See #4108
2024-11-08 15:57:00 -08:00
CasualPokePlayer
411959e399
Add an IV for string encryption
2024-11-08 15:56:59 -08:00
feos
4c3b59c39c
puae: fix something
2024-11-08 20:28:53 +03:00
feos
e501d10804
puae: controller config somewhat works
2024-11-08 19:45:38 +03:00
CasualPokePlayer
8f1b647504
Add 3DS to MultiDiskBundler system options
2024-11-07 15:03:27 -08:00
YoshiRulz
f2841f7849
Remove explicit check for NixOS distro which is no longer necessary
...
confirmed fixed by fe500ef61
2024-11-08 06:35:57 +10:00
feos
a2d401d670
puae: wip
2024-11-07 23:25:50 +03:00
YoshiRulz
9fd58a766a
Use `FrozenDictionary` for `Database`
...
In a simple benchmark of calling `Database.CheckDatabase` 5x 10M times
(small edit on top of `BIZHAWKBUILD_RUN_ONLY_GAMEDB_INIT`),
median runtime was 46.1s w/ `Dictionary`, 44.0s w/ `FrozenDictionary`
(isolated to only swapping out the collection type used at the end of
`InitializeWork`, *not* a before/after comparison on this changeset,
also this was in Release config).
FWIW, the parse/load time increased from 0.38s to 0.74s
(again median of 5 runs in Release config, and this was a before/after
of this whole changeset).
2024-11-08 02:29:59 +10:00
CasualPokePlayer
fe500ef61b
explicitly unload GL library when falling back to GLX
2024-11-06 22:30:25 -08:00
YoshiRulz
4e4377f0e9
Remove unused imports
...
fixes 869bef498
2024-11-07 10:05:20 +10:00
feos
7c88dba814
puae: fix crash
2024-11-07 00:08:19 +03:00
feos
869bef4989
puae: controller config wip
2024-11-06 20:56:22 +03:00
YoshiRulz
6b2d2cb646
Change label of Trace Logger's toggle button
2024-11-05 20:21:00 +10:00
CasualPokePlayer
6853439075
Improve string encryption
2024-11-05 00:59:03 -08:00
CasualPokePlayer
c9bed01b13
Do basic "protection" against RA api tokens in the config
2024-11-03 23:39:42 -08:00
CasualPokePlayer
f4d5db5693
Make sure RAIntegration uses our user agent versioning
2024-11-03 19:37:50 -08:00
CasualPokePlayer
2cdf1e99bf
Fix cue file resolving
...
fixes e893e3a1ff
2024-11-03 06:47:45 -08:00
CasualPokePlayer
666139f8e9
Fix TIC80 schema
2024-11-01 15:34:37 -07:00
CasualPokePlayer
6578c852a1
replace most SDL_SetHint calls with SDL_SetHintWithPriority
...
ensures calls actually do something and won't be ignored due to env vars
2024-10-30 08:18:23 -07:00
CasualPokePlayer
9f3630cbce
Print out exception from opengl version check failure
2024-10-30 01:12:40 -07:00
CasualPokePlayer
cdbb96dfdb
set C64 retroachievements memory to RAM rather than System Bus
2024-10-29 06:50:06 -07:00
CasualPokePlayer
78cc5393e4
use FileData, not RomData for NDS
...
homebrew roms unpadded might be misdetected as having a ""header"" and have the first 512 bytes removed for RomData
2024-10-28 22:29:41 -07:00
YoshiRulz
0bf59347be
Fix Windows 10 LTSC incorrectly being marked as EOL
...
clever hack, no?
2024-10-28 12:32:03 +10:00
YoshiRulz
a8b8fb39ab
Clean up Windows version detection, now flagging Win11 21H2
2024-10-28 12:31:50 +10:00
Morilli
f32277ebd6
attempt to fix fm2 import
...
This will now add reset and power buttons if fourscore is used (pretty sure not doing that was a bug as per comment) and ignore port0 and port1 values if fourscore is set as per movie format documentation.
2024-10-27 18:11:38 +01:00
YoshiRulz
7a1ceaf417
s/firmwares/firmware/ in comments
2024-10-27 02:16:56 +10:00
YoshiRulz
f1d71cc914
s/firmwares/firmware/ in `MainForm` member identifiers
2024-10-27 02:16:56 +10:00
YoshiRulz
9b146b24ea
Rename `FirmwareConfig{,Info}.cs` to match type names
2024-10-27 02:16:56 +10:00
YoshiRulz
74e46227f5
Rename `FirmwaresConfig{,Info}` to `FirmwareConfig{,Info}`
2024-10-27 02:16:55 +10:00
YoshiRulz
03b1d353a7
s/firmwares/firmware/ in `FirmwaresConfig` member identifiers
2024-10-27 02:16:55 +10:00
YoshiRulz
02bf292a85
s/firmwares/firmware/ in `PathEntryCollection`
2024-10-27 02:16:55 +10:00
YoshiRulz
eee34dd69a
s/firmwares/firmwareIDMap/ in Nyma core init methods
2024-10-27 02:16:55 +10:00
YoshiRulz
6955ad3591
s/firmwares/firmware/ in strings
2024-10-27 02:16:55 +10:00
YoshiRulz
ab1f002481
Clarify dropdown options in Record Movie dialog
2024-10-26 02:33:00 +10:00
feos
90287b3396
puae: support region changes
...
by user at the start and by the game on the fly
todo: ntsc par (pal par is 1:1)
2024-10-25 01:17:52 +03:00
feos
703955fcd7
puae: block some unsupported images, reduce heap sizes
2024-10-24 21:47:50 +03:00
Asnivor
52f4f7426c
[A7800Hawk] Make ProLine controller default for the core. Fixes #3895
2024-10-24 14:24:33 +01:00
Asnivor
b3426624f7
[ChannelFHawk] Some code tidy
2024-10-24 13:49:27 +01:00
Asnivor
9c322f8967
[ChannelFHawk] More sensible viewport trimming and set default viewport to AllVisible
2024-10-24 13:32:38 +01:00
Asnivor
e0264ed102
[ChannelFHawk] ICodeDataLogger
2024-10-24 12:27:46 +01:00
YoshiRulz
4c69ce4e27
Avoid `string.Split` in `Database.InitializeWork`
...
On my machine (Mono) in Release config, this reduces the number of
string- and char-arrays allocated by an order of magnitude,
bringing the gamedb's total bytes allocated down by -10%.
2024-10-24 06:31:44 +10:00
YoshiRulz
6f3fd9740e
Add setup for profiling gamedb
...
simply build with
`-p:MachineExtraCompilationFlag=BIZHAWKBUILD_RUN_ONLY_GAMEDB_INIT`
2024-10-24 06:31:44 +10:00
YoshiRulz
4678d90646
Extract method from `Database.InitializeWork`, clean up, and add test
2024-10-24 06:31:44 +10:00
YoshiRulz
9ce3771e85
Move gamedb init before single-instance check
2024-10-24 04:27:30 +10:00
feos
09a39a5630
puae: dependent upon
2024-10-23 19:10:24 +03:00
YoshiRulz
9acdcdbcf7
Restore `BitmapBuffer.AsSpan` and add `AggressiveInlining`
...
fixes 9a5a75e5b
and 7ab2ca6b8
2024-10-21 17:44:58 +10:00
Morilli
4f82b30370
cleanup some SequenceEqual related code
2024-10-20 21:24:24 +02:00
Morilli
b7b8788354
Optimize ZwinderStateManger.GetStateClosestToFrame
...
AllStates() sorted the returned states, but this order was not used anywhere else, so I've removed it. GetStateClosestToFrame is solvable in O(n), so sorting is not required there either.
This is an O(n log(n)) -> O(n) improvement that is mostly relevant for the state history integrity checker
2024-10-20 16:56:47 +02:00
Morilli
7ab2ca6b89
Add SequenceEqual extension to prevent linq usage
...
this speeds up the state history integrity check by about an order of magnitude
2024-10-20 14:00:11 +02:00
YoshiRulz
1dbd7356eb
Fill in Stella upstream version
2024-10-20 05:35:42 +10:00
Morilli
8dee116d77
fix watch combo boxes being cut off
2024-10-19 11:29:20 +02:00
Morilli
59c8125241
some WatchEditor code style
2024-10-19 11:29:01 +02:00
CasualPokePlayer
c954e8c189
Do encrypted DS rom detection better
2024-10-18 20:41:13 -07:00
CasualPokePlayer
2ddfc5f172
Add more NDS extensions
...
srl -> "official" DS rom extension (generally found in prototypes etc)
dsi -> used for DSi only games
ids -> used for iQue DS games
upstream handles all these rom extensions already
2024-10-18 18:03:04 -07:00
CasualPokePlayer
593e7c125b
force real bios file usage if an encrypted DS rom is used
2024-10-18 13:47:15 -07:00
CasualPokePlayer
64d55404ba
Add more invisible heap for melonDS
2024-10-18 13:47:15 -07:00
YoshiRulz
a3901f66e5
Add Analyzer to require `class`/`struct` keyword on records
...
fixes eef190d33
, e8c957a7a
, and c68dd703d
2024-10-19 04:53:35 +10:00
Morilli
c68dd703dc
implement dirty checking for N64 settings
2024-10-18 13:28:25 +02:00
Asnivor
13584ceb62
[ZXHawk] Remove ParseDisk() track limit
...
This fixes 3D Construction Kit and potentially other dsk games with more than 42 tracks on disc.
The +3 disc drive may only be able to read 41-ish tracks of standard sized data, but it appears many images have more tracks than this. 3D construction kit for example has 45 tracks in what passes for the TOC, but the last 5 of these are empty.
2024-10-18 11:04:20 +01:00
Morilli
f748f93764
simplify GetModChecksum256
2024-10-18 04:10:00 +02:00
Asnivor
7d68a0b017
Fix DSKIdentifier ModChecksum function
...
This never worked. Will probably fix a whole bunch of core-selection issues (including ones listed here: https://tasvideos.org/HomePages/CloakTheLurker/ZXHawk )
2024-10-17 17:47:38 +01:00
CasualPokePlayer
ce3af37b24
Fix off by 1 in PSX RetroAchievements disc hashing
2024-10-16 17:39:48 -07:00
CasualPokePlayer
0105caee6e
Do PSX RetroAchievements hashing subdirectory handling better
2024-10-16 17:24:55 -07:00
CasualPokePlayer
09d72bf34f
Do RetroAchievements PSX hashing better
...
Make sure to scan entire directory record (some games seem to end up ending the search early with the old code)
Find "BOOT = cdrom:" with any variable amount of whitespace
2024-10-16 16:14:27 -07:00
CasualPokePlayer
a325119362
Add a new DiscSectorReader policy: inspect the sector, but assume mode 2 form is 1
...
This behavior "needed" for rcheevo hashing to work, since a few games (e.g. `Chinmoku no Kantai - The Silent Service (Japan)`, maybe others) have mode 2 form 2 sectors for the exe (for some reason)
2024-10-16 12:59:55 -07:00
CasualPokePlayer
2c2c2e9ee8
buf2442 -> buf2448
...
It's not a 2442 byte buffer
2024-10-16 12:46:32 -07:00
CasualPokePlayer
b7e57db84f
Fix RCTrack sector reads
...
It appears rcheevos expects user data, not raw sector data
2024-10-15 16:47:46 -07:00
Morilli
6582431d4c
fix loading active tasproj into TAStudio
...
- fixes a43a64b899
- closes #4091
2024-10-15 18:59:27 +02:00
Asnivor
85a7d3474b
Identify correct core for IPF image
...
Obviously we don't support IPF images right now, but with any luck we will eventually. So it makes sense to have something in place in the frontend to do core selection (when a gamedb hash is not found) based on the INFO block within the IPF file itself.
2024-10-15 17:27:05 +01:00
CasualPokePlayer
cef4f10ed8
update comment for previous commit too
2024-10-14 23:55:17 -07:00
CasualPokePlayer
c703b5f6a2
Don't immediately change buffer width/height for melonDS video buffer reallocation
...
They'll get changed later anyways
2024-10-14 23:54:02 -07:00
CasualPokePlayer
670eaf346a
Allocate melonDS's video buffer according to effective gl scaling
...
resolves #4090
2024-10-14 23:51:49 -07:00
prenoeg
e77a036e0e
Fixes for PlayStation RetroAchievements hashing ( #4085 )
...
* Fixed RA hash for PlayStation games when BOOT line contains tabs where spaces are expected.
* Fixed RA hash and prevented infinite loop when PlayStation executable is in subdirectory.
2024-10-14 19:53:29 -07:00
ASNiVOR
62abee4813
[CPCHawk] Small CRTC1 changes
2024-10-14 21:07:17 +01:00
YoshiRulz
478fc58a5d
Fix overlapping buttons in Virtual Pads on Linux
2024-10-14 18:13:48 +10:00
feos
a08cb73a30
order firmware groups in the dialog and in the code ( #4087 )
...
there's some discrepancy between the 2 orders, because the GUI list relies on full names (of the groups) while in the code short names are used to add them to DB
2024-10-14 09:56:45 +03:00
CasualPokePlayer
77d19e0fed
Try to avoid overly sensitive mice from unhiding the autohidden cursor, hide the cursor better for Windows
2024-10-11 18:33:26 -07:00
Asnivor
95cf257d96
[CPCHawk] New CRTC1 impl.
2024-10-11 16:01:00 +01:00
CasualPokePlayer
e1820081ee
Update rcheevos to v11.6.0
2024-10-10 21:35:28 -07:00
Morilli
c190ceb7f2
persist TAStudio max undo levels to config
...
- resolves #3478
2024-10-10 20:57:25 +02:00
Morilli
4b60a90c78
Remove no-op in tasmovie max undo steps setting
...
lol
2024-10-10 20:50:38 +02:00
Morilli
c844379bd6
Always render video when at end of turbo seek
...
- resolves #2081
This is only noticable on cores that implement (video) frame skip.
2024-10-10 04:24:31 +02:00
CasualPokePlayer
ed10275033
Don't use Thread.Join() in NDS Dispose()
...
resolves #3220
2024-10-09 18:10:37 -07:00
Asnivor
c64822680c
[CPCHawk] Some CRTC code tidy
2024-10-09 09:16:56 +01:00
Asnivor
ac25842689
[CPCHawk] FloohZ80 Fix interrupt tracelogger reporting
2024-10-09 08:26:26 +01:00
Morilli
be5ac88677
make CI happy
2024-10-09 07:32:27 +02:00
YoshiRulz
57e60453f6
Fix typo
...
fixes d8778aa23
2024-10-09 14:30:48 +10:00
YoshiRulz
d8778aa232
Split PSX (Nymashock) rumble channel into left and right
2024-10-09 14:26:10 +10:00
YoshiRulz
eb3ab3f05a
Better fix for haptics/feedback prescale
...
fixes c36b654eb
2024-10-09 14:25:46 +10:00
YoshiRulz
c36b654eb9
Fix interger overflow from setting haptics/feedback prescale above 1x
2024-10-09 14:13:21 +10:00
CasualPokePlayer
ab081f7363
Rename AVI/WAV to A/V
...
resolves #4070
2024-10-08 17:39:59 -07:00
CasualPokePlayer
a28b169890
Set UpdateAutoCheckEnabled default to true, don't explicitly set a link color for the update available text (red on white is hard to read, default is usually blue, which looks fine here)
2024-10-08 14:43:30 -07:00
CasualPokePlayer
5889ab1d96
Fix inconsistent MAX_FLOPPIES usage
2024-10-08 14:15:53 -07:00
CasualPokePlayer
54fd290107
Do not send writable floppy disks to PUAE (transient files in wbx states are buggy)
...
Savestate _currentDrive and _currentSlot
Cache controller definition and joystick/keyboard enum mappings
2024-10-08 13:10:54 -07:00
Asnivor
9825ac6db6
[CPCHawk] Implement FloohZ80 TraceLogger
2024-10-08 13:52:49 +01:00
YoshiRulz
f6da980fba
Add debug readout for haptic feedback (SDL2 only)
...
build with `-p:MachineExtraCompilationFlag=BIZHAWKBUILD_DEBUG_RUMBLE`
there's nothing special about SDL2 I just can't be bothered finding the
other impls
2024-10-08 22:44:48 +10:00
YoshiRulz
154a49cd81
Add missing syncsetting check to `Ares64.FrameAdvancePrep`
...
resolves #4056
2024-10-08 22:13:01 +10:00
CasualPokePlayer
ab8eb0405c
Default to MT renderer for Faust
2024-10-07 16:19:03 -07:00
feos
809d43dd44
fix #4069
...
gpgx: swap A and D regs in gpgx_getregs()
actually limit pc to 24 bits, not just disasm address
2024-10-07 19:34:48 +03:00
CasualPokePlayer
187674338b
simplify floooh z80 usage
2024-10-07 01:09:17 -07:00
CasualPokePlayer
b443eb40a8
Hook up rumble for mgba
2024-10-06 17:13:20 -07:00
Morilli
882bab228f
fix for CI
2024-10-07 00:16:49 +02:00
CasualPokePlayer
2c2efc6fb8
Fix gpgx_swap_disc sig mismatch
2024-10-06 14:21:40 -07:00
Asnivor
c644ed19ef
[CPCHawk] Trying a new z80 implementation
2024-10-06 22:01:09 +01:00
Morilli
c4a92bd0fb
Bump duration of movie hash mismatch message
...
see also #2328
2024-10-06 20:58:27 +02:00
YoshiRulz
0a61b2754d
Revert refactor to `bool[].ToUByteBuffer()` extension too
...
see 37da7b3e1
and 30b2433a5
2024-10-07 04:19:32 +10:00
Morilli
30b2433a50
Revert changes to ToBoolBuffer
...
fixes the test, and apparently having non-0/1 bool values is sketchy anyways
2024-10-06 17:30:44 +02:00
Morilli
7db5b22713
Add tests for array conversion util functions
...
to test the changes made in 37da7b3e12
2024-10-06 17:30:07 +02:00
Morilli
9f161bf40e
Simplify Serializer array sync handling
...
val == null is impossible, so the check is completely useless.
2024-10-06 05:55:23 +02:00
Morilli
37da7b3e12
simplify some Util functions
2024-10-06 05:48:26 +02:00
Morilli
97785b2af2
Fix potential exception in PathEntryCollection path resolving
...
see also #4077 for where this initially came up
2024-10-06 00:02:02 +02:00
Morilli
7b2de12de3
IsPathRooted -> IsAbsolute
...
This is most likely more correct. .net framework does not have a dedicated method for checking absolute paths, so this was most likely accidentally used instead.
2024-10-05 23:58:21 +02:00
Morilli
a43a64b899
Try handling movie load failure properly in TAStudio
...
-closes #4068
There's still two callsites that don't check the return value, but I'm not sure whether they can fail and what they should do if they do.
2024-10-05 23:27:20 +02:00
YoshiRulz
9371fbfa62
Add prints to `GPGX.FrameAdvance`
2024-10-05 20:57:28 +10:00
YoshiRulz
f99b8fa518
Use `PathEntryCollection.FirmwareAbsolutePath` extension
2024-10-04 23:39:32 +10:00
Morilli
f28fa49795
Fix ZwinderBuffer InvalidateAfter logic
...
- should resolve #4074
- fixes 2d229be6ba
for when _firstStateIndex != 0
2024-10-03 17:59:42 +02:00
Asnivor
2205d1344c
[CPCHawk] Interrupt wait state timing tests
2024-10-03 12:17:33 +01:00
Asnivor
d513632cf9
[Z80A] Correct Tw cycles for IO
...
The Z80 should only be sampling the /WAIT pin during the 3rd cycle T of an IO REQ M Cycle.
Instruction timing tests verified on CPCHawk using WinAPE plustest.dsk.
Note: CPCHawk is the only core to currently use the Z80A /WAIT pin (FlagW), so other core exposure is 0.
2024-10-02 14:24:20 +01:00
Asnivor
2193c0a0e5
CPCHawk2024 ( #4071 )
...
* [CPCHawk] Start of new gate array and CRTC implementation
* [CPCHawk] Some cleanup
* [CPCHawk] More Cleanup
* [CPCHawk] More CRTC work
* [CPCHawk] More crtc work
* [CPCHawk] more CRTC work
* [CPCHawk] More CRTC work
* [CPCHawk] more crtc
* [CPCHawk] GateArray breaking changes WIP
* [CPCHawk] GA, CRTC and Screen changes
* [CPCHawk] CRTC and GateArray
* [CPCHawk] More stuff
* [CPCHawk] Progress
* [CPCHawk] Starting CRTC type abstraction
* [CPCHawk] Start CRTC status register implementation
* [CPCHAWK] Update colour palatte
* [CPCHawk] Trying to fix GA colour issues
* [CPCHawk] Actually use the Z80 /WAIT line
* [CPCHawk] Frame now running at req 19968 x6 INT
* [CPCHawk] Implement PAL16L8 as a separate device
* [CPCHawk] Border cropping SyncSetting
* [CPCHawk] Stuff
* [CPCHawk] More accurate CRT emulation
* [CPCHawk] Reset vertical timing var only when VSYNC ends in the middle of a scaline
* [CPCHawk] Allow IN port accesses to affect certain write-only devices
* [CPCHawk] Fixed high-impedence returns
* [CPCHawk] Readme update
* [CPCHawk] Update readme with Z80 timing test failures
* [CPCHawk] Update readme
2024-10-02 12:54:22 +01:00
Morilli
5cc4c1f924
Optimize and simplify MarkerView_QueryItemBkColor
2024-10-01 20:36:02 +02:00
Morilli
0fe8fadc39
on shutdown, close tools before stopping movie
...
- closes #4065
2024-10-01 15:40:30 +02:00
CasualPokePlayer
e71cdf8440
Initial SA1 IRAM exposure for RetroAchievements
...
see https://github.com/RetroAchievements/rcheevos/pull/371
2024-09-30 23:19:45 -07:00
CasualPokePlayer
f9d4737104
Expose SA1 IRAM in old BSNES
2024-09-30 22:16:26 -07:00
Morilli
461a3dfb8d
Optimize some linq Any() calls to list Exists() calls
2024-09-30 23:31:54 +02:00
Morilli
08125ae82d
Cleanup CloseGame and CloseRom some more
...
- fixes #4061 and hopefully breaks nothing else
2024-09-30 23:29:53 +02:00
Moritz Bender
2d229be6ba
Move ZwinderBuffer invalidation logic into the class ( #4066 )
...
in scenarios with MANY states and high fps, the overhead of calling `GetState` every time was significant.
2024-09-30 15:55:48 +02:00
YoshiRulz
fedd2dbb03
Replace `ImGuiResourceCache.BrushCache` with a single `Brush`
2024-09-30 21:47:07 +10:00
YoshiRulz
fb425c9db6
Replace caches in `LuaPictureBox` with a single `Brush` and `Pen`
2024-09-30 21:47:07 +10:00
YoshiRulz
4f69796e51
Check for cached `SolidBrush` in `LuaPictureBox.DrawText`
2024-09-30 21:47:07 +10:00
YoshiRulz
6c514bcdd0
Change `NesPPU.HandlePaletteViewMouseMove` to re-use one `SolidBrush`
2024-09-30 21:47:07 +10:00
YoshiRulz
1b1589f2e8
Change `SNESGraphicsDebugger.RenderPalette` to re-use one `SolidBrush`
2024-09-30 21:47:07 +10:00
YoshiRulz
0313e1c119
Use `Brushes.*` instead of creating new ones from `Color` constants
2024-09-30 21:47:07 +10:00
YoshiRulz
f4298d74f4
Change `SNESGraphicsDebugger.DrawPaletteRegion` to re-use one `Pen`
2024-09-30 21:47:07 +10:00
YoshiRulz
ca95336349
Use `Pens.*` instead of creating new ones from `Color` constants
2024-09-30 21:47:07 +10:00
CasualPokePlayer
64f6742c15
Fix drawString not blending when it should
...
Drawing a string is really having GDI+ do the drawing in software, uploading the result to a texture, then overlaying it to the render target. Since this texture is largely transparent, it needs blending. Of course, assuming the colors are all otherwise opaque, we only need to do this for the string texture draw
2024-09-29 21:39:20 -07:00
Morilli
ae5d4ab160
Make StateInformation a readonly struct
...
This helps a lot when many states exist, struct allocs are much cheaper than classes
2024-09-29 04:05:32 +02:00
Morilli
0ac81016b1
Optimize sound output buffer handling
...
turns out a Queue isn't the optimal data structure when you're queueing millions of elements
2024-09-29 01:44:39 +02:00
Morilli
f3876da840
Optimize Vsync getter functions
...
trust me this is a highly relevant optimization
2024-09-29 01:39:55 +02:00
Morilli
0669483bd2
optimize TasLagLog.RemoveLagEntry
...
just because I can
2024-09-28 17:30:42 +02:00
Morilli
24012bfb21
optimize TasLagLog.RemoveFrom
...
- closes #4058
2024-09-28 17:30:40 +02:00
YoshiRulz
9a440d0301
Add missing syncsetting check to `Gameboy.FrameAdvancePrep` (Gambatte)
...
see #4057
2024-09-28 18:01:00 +10:00
YoshiRulz
444d1b2182
Avoid exceptions in `AxisValue` implementations ( resolves #4057 )
...
see #4056
only in Release config, because cores really shouldn't be using
undeclared axes and I'd like to be able to catch that
2024-09-28 17:57:47 +10:00
Morilli
15ff0ec2c7
refactor sticky hold/autofire logic in TAStudio
...
- setting multiple buttons to autofire actually works
- the config to respect lag in autofire is applied now
- can set meaningful axis hold / autofire
- removed last reference to "float autofire"
2024-09-27 00:14:09 +02:00
Morilli
6d9aa4d467
implement bitwise logic for axes
...
noticable in inputdisplay or when trying to set axis autofire
2024-09-27 00:14:08 +02:00
YoshiRulz
509bd1504a
Set some more metadata on BizHawk assemblies
...
The documentation for these is lacking, as I've come to expect, but I'm
angry all the same.
For EmuHawk and DiscoHawk, I've pushed `$(Description)` (normally only
seen when publishing to NuGet) into `$(AssemblyTitle)`, which Windows
labels as "File description", and then explicitly set `$(Product)`.
Also `$(NeutralLanguage)` doesn't set a culture, it points any lookups
for `en-US` localisations to embedded resources, which I believe is the
default. This just makes it explicit.
2024-09-27 08:13:33 +10:00
Morilli
5504deb73f
make new from savestate and saveram work again
...
broke with 8956657a34
I'm assuming. Notably this will now no longer copy the current settings over, but that might actually be more consistent with the behavior of the normal new option, so...
2024-09-26 22:34:30 +02:00
Morilli
8f497d44f4
Make PatternsForm title text readable
2024-09-26 22:14:46 +02:00
YoshiRulz
4ccf4eafef
Add missing disc presence check to `NymaCore.FrameAdvancePrep`
...
fixes #4056
`ControllerAdapter` ctor uses `(discs?.Length ?? 0) > 0`, but it gets
`discs` from earlier in core init; when it's later assigned to `_disks`,
empty lists are replaced with null, and other places in `NymaCore` use
`_disks != null`. The `default(int)` is to match pre-3af5b7a7f
behaviour.
2024-09-27 05:47:27 +10:00
Morilli
eaef1f3829
Fix display issue in TAStudio when <3 frames are visible
...
also left a giant TODO, not sure what else to do about it
2024-09-26 21:11:17 +02:00
Morilli
bccc118091
Cleanup some more TAStudio function calls
...
in an ongoing effort to try and make the logic understandable
This should also restore default columns now when an existing tasmovie is currently loaded with column changes
and an existing bk2 is opened (which is then converted to a tasproj) (possible after 2ad7fc095c
)
2024-09-26 21:07:18 +02:00
Morilli
2ad7fc095c
Refactor tasmovie input roll settings handling
...
this allows loading the input roll settings stored in a tasproj even after it was initially `Load()`ed. This fixes those settings not getting applied when loading an existing, playing tasmovie into TAStudio.
2024-09-26 18:52:32 +02:00
Morilli
81b6c2793c
Respect AutoFireLagFrames config setting in sticky controllers
...
Previously, there was no way to configure this and sticky autofire controls would always adjust to lag.
2024-09-26 13:49:21 +02:00
Morilli
6eba7930fc
fix watch editor notes label position
2024-09-26 13:49:21 +02:00
YoshiRulz
dde61e309f
Make `ServiceNotApplicableAttribute` constructor `params`
2024-09-26 13:54:42 +10:00
YoshiRulz
f056059e48
Fix collection type in `ServiceNotApplicableAttribute`
2024-09-26 13:45:54 +10:00
YoshiRulz
bcd13fe37f
Make `IDriveLight` optional for cores
2024-09-26 13:45:15 +10:00
YoshiRulz
c22f2ab4f5
Remove redundant inter-project dependencies
2024-09-26 09:52:00 +10:00
Moritz Bender
3af5b7a7f0
Refactor sticky controller logic to separate it from user input ( #4047 )
2024-09-24 16:05:00 +02:00
Morilli
9f137753b9
hide no-op context menus for separators in ram watch
...
- closes #4051
2024-09-24 15:23:25 +02:00
YoshiRulz
e8b717c18e
Reorder fields in `WatchEditor` ( resolves #4046 )
2024-09-24 13:55:20 +10:00
YoshiRulz
775dc90ce2
Use a TLP to align UI elements in `WatchEditor`
2024-09-24 13:55:20 +10:00
YoshiRulz
9d1a22cab0
Fix typos from `WatchEditor` Designer file
2024-09-24 13:55:20 +10:00
YoshiRulz
b8d65ae92a
Merge in Designer file for `WatchEditor`
2024-09-24 13:54:39 +10:00
YoshiRulz
f1c901ce00
Revert "Improve watch editor layout"
...
This reverts commit f6bf38141a
.
2024-09-24 12:30:59 +10:00
YoshiRulz
1d8c088261
Fix `--lua`/`--luaconsole` causing that window to open before MainForm
2024-09-24 12:25:16 +10:00
Morilli
420cf323aa
fix axis input calculation truncating instead of rounding
...
very noticable with MouseX/Y binds, you cannot reach certain positions
2024-09-23 23:16:39 +02:00
CasualPokePlayer
96b4de92af
Only call GetDpiForWindow if it's actually available
...
apparently this is limited to windows 10 1607+
2024-09-23 03:08:19 -07:00
Morilli
3ea0a5a2dd
fix autofire sticky axes off value
2024-09-23 02:12:33 +02:00
Morilli
5803e362f9
make IsSticky implementation consistent
...
only two inheritors and they disagree on semantics... but there's `CurrentStickies` already which gives access to buttons only
2024-09-23 01:58:27 +02:00
Morilli
23815b4783
some more sticky renames for clarity
...
SetSticky and ClearStickies sounds an awful like they affect the same thing, also this makes it clear whether to set a hold or an autofire
2024-09-22 23:56:53 +02:00
Morilli
5a4f093d50
explicitly unset sticky axes
...
there should not be a function that blindly unsets both axes and button, make it explicit
2024-09-22 23:11:02 +02:00
Morilli
84f774aa9c
reorder code in StickyAdapters
...
move fields and property to the top, button code before the equivalent axis code, general cleanup
2024-09-22 23:04:38 +02:00
Morilli
525a95ea0a
update gpgx ported version
2024-09-22 22:33:08 +02:00
feos
ebbbf0c691
puae is not released
2024-09-22 21:57:34 +03:00
YoshiRulz
d804b6ce17
Fix code style warnings for `OpposingDirPolicy` docs
...
fixes ec69033d9
2024-09-23 04:36:23 +10:00
YoshiRulz
ec69033d9a
Add docs to `OpposingDirPolicy` enum
...
see #2752
2024-09-23 04:29:40 +10:00
YoshiRulz
f2a4d14172
Replace `?? CancellationToken.None` pattern with the simpler `default`
2024-09-22 15:21:02 +10:00
YoshiRulz
b173712a15
Fix suppressed warning in `ClientWebSocketWrapper` ctor
...
more like "human not smart enough to recognise this" amirite
2024-09-22 15:20:48 +10:00
Morilli
09dd55eb93
Fix nullref when no movie exists
...
fixes 259929499f
2024-09-21 16:53:23 +02:00
Morilli
f6bf38141a
Improve watch editor layout
...
see #4046
2024-09-21 12:37:36 +02:00
CasualPokePlayer
a2d97dfb5f
Remove "direct" bin file handling
...
If you want something like this done, just look for a .cue file next to the .bin file. Do not try to generate a temp .cue and pass that .cue along as the disc file to load, you will potentially run into a situation that temp .cue filename (mind you, this is random!) will act as the game name (due to not being present in db for whatever reason), affecting stuff like SaveRAM and such. The disc file "loaded" must not have some random junk in the filename.
2024-09-21 03:09:13 -07:00
Morilli
259929499f
Allow savestating at movie end
...
- resolves #4032
2024-09-21 10:14:47 +02:00
Morilli
0ac51edd8b
add missing BSX framerate
...
I don't think PAL is even possible
2024-09-20 20:12:41 +02:00
Morilli
5acf324fdf
attempt to fix GPGX aspect ratio
...
see #4042 , not sure if this is fully correct yet
2024-09-20 18:26:15 +02:00
YoshiRulz
a3a051346b
Enable `File` > `Screenshot` submenu with NullHawk
2024-09-21 01:18:07 +10:00
Morilli
81416e684f
Fix DWordWatches not being pokable with binary display type
...
- closes #4045
2024-09-20 13:28:34 +02:00
Morilli
e092240bdd
fix watch value box field length for 32-bit binary watches
...
- closes #4044
2024-09-20 13:26:36 +02:00
Morilli
b1eebd9abb
make virtual pad control clearing autoholds
...
ClearStickies clears buttons and axes, but the virtualpad tool wants to control whether only buttons are cleared.
also contains minor cleanups regarding related function calls.
2024-09-20 13:06:31 +02:00
Morilli
5b3daed6e8
improve some VirtualPad code
2024-09-20 12:52:32 +02:00
CasualPokePlayer
e720650085
optimize 2D renderer: try to avoid splitting render commands, try to use single pass if blending is unneeded (i.e. alpha is always 0xFF)
2024-09-20 01:24:04 -07:00
CasualPokePlayer
a2ddc1b4cd
make sure to dispose Image from Image.FromFile
...
these hold a lock until they get disposed (which without explicit disposing is just waiting on the finalizer to do it)
2024-09-19 22:35:03 -07:00
CasualPokePlayer
073ce5fa4d
Do alpha blending more faithfully to GDI+
...
fixes #4043
2024-09-19 22:00:55 -07:00
CasualPokePlayer
67cba14e38
Don't "shrink" internal upscaled buffers with a smaller virtual width/height
...
while this did "work", and mimicked other emulators handling internal upscaling, it was a hack, and ends up causing issue with lua padding. it is also more unneeded now that #4029 (makes the UX of a sudden "large window" more managable) and #4011 (allowing for mimicking the frozen smaller window state) are merged
resolves #4039
2024-09-19 01:42:48 -07:00
CasualPokePlayer
e568305499
Fix more edge cases with new hw accelerated GuiApi
...
fixes #4040
fixes #4041
2024-09-18 21:28:20 -07:00
CasualPokePlayer
5d6106ca57
cleanup last commit
2024-09-17 23:43:54 -07:00
CasualPokePlayer
060670b87b
Run string draws at any point, rather than only at the end
...
fixes #4036
2024-09-17 23:41:33 -07:00
Morilli
a1d4c5e68e
Make SaveBk2BackupMenuItem visible
...
It was always there, just invisible! Not sure how useful it is, but might as well try making it visible before removing it.
2024-09-17 20:28:08 +02:00
Morilli
21fbee01de
consolidate TAStudio saving functions
2024-09-17 20:26:04 +02:00
Morilli
57d1ac8dbd
cleanup and improve TAStudio's SaveAsTas
2024-09-17 20:17:28 +02:00
YoshiRulz
4b454a675a
Fix ext. tools failing with a `[{Required,Optional}Api] ApiContainer`
2024-09-18 01:12:54 +10:00
Asnivor
55762bf8ea
[ChannelFHawk] Pair back ramp-up time so shorter sounds can play out
2024-09-17 09:15:31 +01:00
YoshiRulz
97a8e9011e
Add Analyzer to warn about decimal<=>float/double casts
...
fixes c882fe4ea
and 32a66a955
2024-09-17 03:02:09 +10:00
CasualPokePlayer
9b57adfab0
mark Stella as released
2024-09-16 01:06:22 -07:00
CasualPokePlayer
d9b3728365
don't expose not fully functional controllers in stella
2024-09-16 00:44:31 -07:00
CasualPokePlayer
5b74211460
Add missing variables to Stella states
2024-09-16 00:40:02 -07:00
CasualPokePlayer
18a7b32c8d
make virtualpad not throw with stella
2024-09-16 00:36:12 -07:00
CasualPokePlayer
4c4ffca2bc
remove non-implemented stella settings/sync settings
2024-09-16 00:29:35 -07:00
CasualPokePlayer
e06997dd4c
Correct aspect ratio for Stella
2024-09-16 00:26:35 -07:00
CasualPokePlayer
a8ab0ed302
do not prefer stella
2024-09-15 23:24:35 -07:00
CasualPokePlayer
4a16f2899b
Fix Stella throwing
2024-09-15 23:23:10 -07:00
CasualPokePlayer
57e24b8f09
actually resample stella's audio
2024-09-15 23:19:43 -07:00
CasualPokePlayer
db11df3804
A few more Stella cleanups
2024-09-15 22:53:21 -07:00
CasualPokePlayer
1b92d1080f
Do some cleanups with Stella, mark as experimental
2024-09-15 22:47:38 -07:00
YoshiRulz
32a66a955c
Restore `checked` modifier in `BasicMovieInfo.FrameRate`
...
fixes 94a24aab8
2024-09-16 08:33:33 +10:00
Morilli
1f1bf9b056
Comment out nonfunctional cycle count update code
...
setting cycle count in HandleFrameAfter could work, but needs proper invalidation logic
2024-09-15 21:29:55 +02:00
Morilli
09c57cf86e
cleanup ICycleTiming header value setting
...
notably don't unset the ClockRate just because the current cycle count is invalid
2024-09-15 21:29:55 +02:00
Morilli
ec0f761bd9
Allow TAStudio to save cycle count in bk2 export
2024-09-15 21:29:55 +02:00
Morilli
94a24aab84
simplify BasicMovieInfo.FrameRate
2024-09-15 21:29:55 +02:00
YoshiRulz
cdbaec1db9
Fix code style in `DefaultMessagePositions`
...
fixes bca7994c0
2024-09-16 04:35:48 +10:00
Morilli
bca7994c00
make default message colors readable
2024-09-15 15:31:16 +02:00
Morilli
75c8b8ed9a
Rename MovieInput to MovieInputColor
...
this makes it consistent with the three other variables
2024-09-15 15:31:16 +02:00
YoshiRulz
ae2ad0213d
Use local method instead of a loop in `MainForm.FrameBufferResized`
2024-09-15 23:24:18 +10:00
YoshiRulz
21cdc86e8c
Enable MEN018 and fix noncompliance (except in Cores)
...
"Use Digit Separators" in integer literals
2024-09-15 23:19:07 +10:00
Morilli
74e50c3041
fix some xmldoc
2024-09-14 21:35:47 +02:00
kalimag
e2a6942df0
Fix missing/incorrect checksums for Sega CD, Saturn, and Jaguar CD (squashed PR #4024 )
...
* Fix non-PSX disc hashing somewhat
- Don't hash generated (empty) lead-in/lead-out tracks
- Limit to track length, not absolute LBA of next track
* Use `InformationTrackCount` instead of `Tracks.Count`
* Add Jaguar CD hashing
Reuse RetroAchievements implementation, move into `DiscHasher`
2024-09-14 22:29:01 +10:00
Morilli
1b3e7d45f2
deduplicate TasMovie property setting in TAStudio
2024-09-14 14:25:02 +02:00
YoshiRulz
362ffd147e
Improve first-launch profile config UX
...
see a351dcc55
2024-09-14 22:17:43 +10:00
YoshiRulz
0c9f8169db
Make OSD toasts at least `OSDMessageDuration` instead of exactly that
2024-09-14 22:11:51 +10:00
YoshiRulz
5eb2cd8cb1
Send ext. tools regular update events while emulation is paused
...
resolves #3626
2024-09-14 21:45:22 +10:00
YoshiRulz
0f19b9c854
Also print when `LuaPictureBox.DrawIcon` called with mismatched w/h
...
see #3851 , 170d1a62e
2024-09-14 21:29:24 +10:00
YoshiRulz
f6cb86fa65
Pass log callback through to `LuaPictureBox`
2024-09-14 21:29:24 +10:00
YoshiRulz
b51bb85c82
Replace `LuaPictureBox` prop init with constructor
2024-09-14 21:29:24 +10:00
YoshiRulz
e5e055b7a4
Remove default arguments from `LuaPictureBox.*`
2024-09-14 21:29:24 +10:00
Morilli
1fc443640a
Reorganize input display drawing
...
I tested all combinations I can think of and this looks correct. Hopefully this can easily be verified with the given code comments now.
2024-09-14 09:54:33 +02:00
YoshiRulz
c913c5a6e6
Further improve malformed `.cue` UX
...
see 8f963ba58
, #4013
2024-09-14 04:59:38 +10:00
YoshiRulz
fa361ce06c
Add Analyzer for finding errors with ternaries in interpolated strings
...
why is this not part of the SDK
2024-09-14 02:44:08 +10:00
kalimag
f90126f19b
Overhaul cheat handling during rom load/close
...
- Stop overwriting/deleting other games' cheat files after rom change
- Always clear/update references to disposed memory domains
- Keep current cheats after core restart
2024-09-14 00:42:34 +10:00
kalimag
76e73e1897
Remove duplicate method in `CheatList`
2024-09-14 00:42:34 +10:00
kalimag
ed13e0ef24
Save main window maximized state
2024-09-13 23:32:12 +10:00
kalimag
ad73d39176
Prevent title bar and menu moving off-screen
2024-09-13 23:32:12 +10:00
kalimag
a3bf347e22
Defer main window resize while minimized/maximized
2024-09-13 23:32:12 +10:00
kalimag
2e4d2ce232
Add option to disable automatic resize of main window (squashed PR #4011 )
...
* Add option to disable automatic main window resize
* Add option to window size submenu
* Rename parameter to `forceWindowResize`
* Add XML doc comments
* Save main window size
* Make `Config.MainWndx `/`MainWndy` nullable
* Reduce total diff size
* Move cast inside of `foreach`
* Remove obsolete workaround
Position isn't saved anymore when minimized
* Combine config values into `Point` and `Size`
* Add `Point` and `Size` to known good serializable types
* Remove doc comment from implementation
2024-09-13 22:17:27 +10:00
CasualPokePlayer
d0482ac787
Fix EGL fixes
...
fixes 3b62a38f1d
2024-09-12 19:54:04 -07:00
Morilli
494dcb1224
start OSDManager cleanup
2024-09-12 18:48:58 +02:00
YoshiRulz
dc582a4e7a
Skip setting `SDL_HINT_VIDEO_X11_FORCE_EGL` on NixOS again
...
see 60fae3540
, 08bd14e80
, and 3b62a38f1
2024-09-13 00:17:55 +10:00
Morilli
89235cc9cf
Make FramesPrompt title readable
2024-09-12 11:10:54 +02:00
CasualPokePlayer
4d71db1089
Add many more missing TMDs
...
resolves #4028
resolves (partially) #3840
2024-09-12 00:36:29 -07:00
CasualPokePlayer
245f0e2271
Don't invoke UB with possibly unaligned memory
2024-09-11 16:26:00 -07:00
CasualPokePlayer
3b62a38f1d
More properly fix EGL issues
2024-09-11 16:26:00 -07:00
Morilli
fdb7a0df46
Remove no-op
2024-09-11 19:51:30 +02:00
Asnivor
6513e2700c
Update readme.md
2024-09-11 16:48:12 +01:00
ASNiVOR
2ec60924d0
[ChannelFHawk] Markdown is the devil
2024-09-11 16:47:02 +01:00
ASNiVOR
958eb454e3
[ChannelFHawk] Update readme
2024-09-11 16:44:40 +01:00
ASNiVOR
fabc7e9aca
[ChannelFHawk] Enable for release
2024-09-11 16:08:34 +01:00
ASNiVOR
58b5f40277
[ChannelFHawk] Add viewport controls as a SyncSetting
2024-09-11 13:43:25 +01:00
Sergio Martin
bf8758e61c
Adding Stella as A2600 emulation core ( #3911 )
...
* Adding initial version of the core
* Adding base files
* Trying to load waterbox now
* Adding stella
* Adding bk class
* Compiling bk interface to stella core
* Now compiling against Stella + SDL2-based BK backend
* Progress
* More progress
* Frame advancing (no render)
* Calling video update but crashing on zero div
* Now rendering to screen with correct palette
* Now rendering appropriately and with correct palette based on region
* Now reading controls
* Trying to capture audio
* Now adding audio
* Now polling inputs
* Now polling inputs
* Now reporting memory regions
* Added memory regions
* Removing debug prints
* Fixing indent
* Adding stella core
* Updating readme and make all cores
* Recovering ending comma
* Using heap alloc for sound buffer
* Removing unnecessary files
* Update src/BizHawk.Emulation.Cores/Consoles/Atari/Stella/Stella.IMemoryDomains.cs
Co-authored-by: James Groom <OSSYoshiRulz+GitHub@gmail.com>
* Update src/BizHawk.Emulation.Cores/Consoles/Atari/Stella/Stella.IMemoryDomains.cs
Co-authored-by: James Groom <OSSYoshiRulz+GitHub@gmail.com>
* Fix
* Restoring vscode
* Removing warning
* Update waterbox readme
* Fix Stella's `[Core]` attr
* Increased sound buffer size to 1Mb, as some games need more than 4K
---------
Co-authored-by: James Groom <OSSYoshiRulz+GitHub@gmail.com>
Co-authored-by: Morilli <35152647+Morilli@users.noreply.github.com>
Co-authored-by: YoshiRulz <OSSYoshiRulz+git@gmail.com>
2024-09-11 08:18:54 +03:00
Moritz Bender
a0800862b3
Refactor InputDisplayGenerator + LogEntryGenerator + ControllerDefinition ( #3782 )
...
* refactor InputDisplayGenerator and LogEntryGenerator handling
* Fix NRE in Tastudio. I can already see this avalanching into 100 different bugs
* cba, revert 48f4e13de and bring back bullshit dummy default MovieController
* Refactor MnemonicCache + make Bk2LogEntryGenerator and Bk2InputDisplayGenerator static. This should simplify stuff and make the logic clearer
2024-09-10 22:19:54 +03:00
YoshiRulz
08bd14e800
Skip setting `SDL_HINT_VIDEO_X11_FORCE_EGL` on NixOS
...
see 60fae3540
2024-09-11 02:57:48 +10:00
Morilli
a955868e04
Fix Cell add exception in SelectBetweenMarkers
...
- closes #3971
2024-09-09 22:44:37 +02:00
YoshiRulz
29c15adbbf
Promote BHI1007 to a build error, fixing some cases and muting others
...
"Don't use target-typed new for throw expressions"
where there was a type name checked-in before being removed,
I've restored it (they were all `Exception`)
2024-09-10 05:42:11 +10:00
Moritz Bender
a72b0f7e8c
Cleanup before/after frame logic in MovieSession ( #4023 )
...
This does change some behavior, but hopefully the new structure is more logical and more correct. Calling HandleFrameAfter from HandleFrameBefore definitely didn't feel proper.
2024-09-08 20:18:37 +03:00
YoshiRulz
09f037544f
Don't set `PrivateAssets="all"` for `System.CommandLine` package
...
fixes d908d7718
2024-09-09 00:26:31 +10:00
kalimag
2d938ae61d
Dispose input files in DiscoHawk
2024-09-09 00:11:15 +10:00
YoshiRulz
e68243fca5
Attempt to restore InputRoll invariant during Select All (see #3971 )
...
I believe this method was already non-atomic so this clear operation
shouldn't change anything
2024-09-08 21:46:04 +10:00
Sergio Martin
aa662eb930
Update quickerNES and add Arkanoid input support (squashed PR #3997 )
...
* Update QuickerNES interface to accept arkanoid controllers
* Updating
* Updating quickernes to its latest version and now supporting ArkanoidNES and ArkanoidFamicom controllers
* Apply suggestions from code review
applying yoshi's suggestions
Co-authored-by: James Groom <OSSYoshiRulz+GitHub@gmail.com>
* Using proper C#
* Updating based on Morilli's comments
* Updating the linux core
* Fixes based on Yoshi's comments
---------
Co-authored-by: James Groom <OSSYoshiRulz+GitHub@gmail.com>
2024-09-08 21:24:27 +10:00
Morilli
5e9d3cd2bc
Implement clone # times hotkey for TAStudio
...
- closes #3992 .
2024-09-08 12:44:17 +02:00
Morilli
b02baf5a6a
reorder TAStudio context menu items
...
they are now better semantically grouped together imo.
2024-09-08 12:40:40 +02:00
RetroEdit
e3fee6f824
movies: normalize loaded hashes to upper case
...
fixes #3979
2024-09-08 19:55:15 +10:00
YoshiRulz
08c215905f
Standardise command-line flags to kebab-case
2024-09-08 19:48:11 +10:00
YoshiRulz
ab129bcf35
Improve documentation of CLI flags (output of `--help`)
2024-09-08 19:48:11 +10:00
YoshiRulz
a55a5ee5a4
Add `--help` command-line flag
2024-09-08 19:48:11 +10:00
YoshiRulz
d908d77186
Replace implementation of `ArgParser` using `System.CommandLine`
2024-09-08 19:48:11 +10:00
YoshiRulz
799f838f13
Manually implement equality on `AxisSpec`
...
fixes 76a30e5d7
2024-09-08 19:30:29 +10:00
CasualPokePlayer
16d51b429d
Actually use IZ80ALink's IRQ/NMI/IRQACK callbacks
2024-09-07 16:50:02 -07:00
Morilli
f6ce041ccf
change FirmwareOptionStatus.Ideal description
...
see #3974 . I see no reason why there can't be multiple ideal firmwares.
2024-09-07 23:49:26 +02:00
YoshiRulz
fa56f2abef
Better document genericisation of virtual CPU classes
...
fixes f3ea6fe02
(#1189 ), 84f4d6ae2
, and 666cb3939
2024-09-08 07:08:45 +10:00
Moritz Bender
f47c58f550
Fix movie header values being potentially outdated upon starting a movie record ( #4010 )
...
* Rename StartNewMovie parameter
* Move PopulateWithDefaultHeaderValues to MainForm.Movie, make private
Author still needs to be set locally
* Make PopulateWithDefaultHeaderValues non-static
* Remove now-unnecessary firmware parameter in RecordMovie
* add TODO comment
* add Prepopulate function before movie load
Now, the main header population happens after the core is reloaded, ensuring all values are in the correct state.
A few movie values still need to be set beforehand though to ensure the core reboot works correctly.
* Allow recording movies even with outstanding reboot
Should be safe now with the previous commit.
2024-09-07 15:27:20 +02:00
YoshiRulz
650c7cae17
Restore end `#nullable` fence
...
fixes 76a30e5d7
2024-09-07 22:26:32 +10:00
Morilli
daedf5ae07
clarify handling in MovieSession.HandleFrameBefore
2024-09-07 14:25:21 +02:00
Morilli
b2131287be
increment rerecords when recording frames in a TasMovie
...
I believe this is more correct than what was previously done. In particular the lag log and statemanager should always be invalidated at the same time. Maybe the `this.IsRecording()` check should be removed altogether?
2024-09-07 14:22:17 +02:00
Morilli
76a30e5d71
random code cleanup
2024-09-07 09:26:13 +02:00
CasualPokePlayer
85d6002673
Put some more callbacks into IZ80ALink; remove MemoryCallbacks in Z80A (it's not actually used at all)
2024-09-06 18:18:41 -07:00
CasualPokePlayer
666cb39392
Implement cpu link interface for z80
2024-09-06 18:02:41 -07:00
CasualPokePlayer
94c9f1eaf6
use new scratchpad mem domain for cheevos
2024-09-06 14:08:06 -07:00
CasualPokePlayer
84f4d6ae28
[ChannelF] Cleanup + optimize some code
2024-09-06 13:43:32 -07:00
YoshiRulz
314f32b95f
Revert "Attempt to fix buttons' labels being invisible on some Forms"
...
This reverts commit 404f28fa64
.
2024-09-07 06:03:21 +10:00
Asnivor
139114acd4
[ChannelFHawk] vars to keep the style gods happy
2024-09-06 19:17:08 +01:00
Asnivor
f826da6286
[ChannelFHawk] Unnecessary comments
2024-09-06 19:13:57 +01:00
Asnivor
de698f05a7
[ChannelFHawk] Revert VRAM back to the correct size and mitigate any index out of range errors in the ClockVideo() method
2024-09-06 19:12:18 +01:00
Asnivor
c8327871af
[ChannelFHawk] Missed a syncing
2024-09-06 18:40:08 +01:00
Asnivor
ad1887589d
[ChannelFHawk] More cleanup
2024-09-06 16:01:04 +01:00
Asnivor
8638f4c550
[ChannelFHawk] Remove random usings
2024-09-06 15:54:14 +01:00
Asnivor
955438d9bb
[ChannelFHawk] Remove obsolute stuff
2024-09-06 15:48:01 +01:00
Asnivor
789a6266fc
[ChannelFHawk] Approximate the clocking of video circuitry rather than generating the framebuffer from RAM at the end of a frame
2024-09-06 15:44:46 +01:00
YoshiRulz
404f28fa64
Attempt to fix buttons' labels being invisible on some Forms
...
The "workaround" in question is `GTK_DATA_PREFIX='' ./EmuHawkMono.sh`,
which I'll be recommending in the short term until I can figure out how
to load or not load it. (Though `GTK_DATA_PREFIX` is likely part of the
answer).
2024-09-06 17:28:29 +10:00
YoshiRulz
a13333b965
Rework doc comment for `IDriveLight.DriveLightIconDescription`
2024-09-06 17:08:10 +10:00
Asnivor
02ecb0ad24
Enhance the IDriveLight interface so that custom tooltip text can be displayed
2024-09-06 17:08:10 +10:00
CasualPokePlayer
0dbc2b0c27
fix ChannelF mnemonics
2024-09-05 17:17:12 -07:00
CasualPokePlayer
be01202c68
Do ChanF platform framerates slightly better
2024-09-05 17:03:41 -07:00
CasualPokePlayer
c17930c40f
Do ChannelF timings a bit better; some cleanups
2024-09-05 16:56:12 -07:00
ASNiVOR
ca104aec8a
[ChannelFHawk] Bk2 Mnemonics
2024-09-05 22:08:27 +01:00
ASNiVOR
81043839c1
[ChannelFHawk] More accurate rates
2024-09-05 21:47:19 +01:00
YoshiRulz
6d05b9874c
Refactor `MainForm.HandleToggleLightAndLink`
2024-09-06 02:33:05 +10:00
YoshiRulz
234c7dda6b
Remove unused import
...
fixes 830760b12
2024-09-06 02:33:05 +10:00
Asnivor
830760b12a
[ChannelFHawk] Launch internal games by passing bios files as a ROM (which in turn contain said internal games)
2024-09-05 17:03:58 +01:00
Asnivor
b3e8182f26
[ChannelFHawk] Implement Channel F II System
2024-09-05 16:47:49 +01:00
Asnivor
cd391a6e88
[ChannelFHawk] Remove the computer thinking activity indicator from the non-chess mappers
2024-09-05 16:23:04 +01:00
Asnivor
c994e7bc84
[ChannelFHawk] Fix the chess (Schach) computer 'thinking' activity LED (the original cart had an LED built into it - we are using the DriveActivity indicator in Bizhawk for this purpose)
2024-09-05 14:16:08 +01:00
Asnivor
1fb56010e6
Fix analyzer run failure
2024-09-05 13:49:12 +01:00
Asnivor
8ae73ed850
[ChannelFHawk] Implement the Sean Riddle multi-cart mapper
2024-09-05 13:41:57 +01:00
Morilli
c77486f88d
simplify float division to modulo operator
2024-09-05 07:14:27 +02:00
Morilli
d9069ea2cc
Simplify PathExtensions.IsAbsolute
...
I've somewhat extensively tested this and this should be good. I've gotten to the point where even `Path.IsPathFullyQualified` returns wrong results (for "\?test"), so I'm not gonna look further.
2024-09-05 06:46:23 +02:00
CasualPokePlayer
fa9c581d19
[ChannelFHawk] Expose scratchpad registers as a memory domain
...
This more or less acts like memory for the ChannelF in practice, due to the actual console lacking RAM. Using debugger apis is very annoying for peeking at these registers and of course you can't just use RAM Watch or the Hex Editor with it locked to debugger apis
2024-09-04 18:48:34 -07:00
CasualPokePlayer
817efd6598
remove debug code from last commit
2024-09-04 18:25:14 -07:00
CasualPokePlayer
1ada77e51f
[ChannelFHawk] Fix off by one for ROM array creation
2024-09-04 18:24:21 -07:00
CasualPokePlayer
7f3a1668d8
[ChannelF] Move PollInput() to before CPU loop, add missing variables to states, fixup usings
2024-09-04 18:18:07 -07:00
CasualPokePlayer
c1ec22c26a
Fix ChannelF settings not being properly saved
2024-09-04 16:01:53 -07:00
CasualPokePlayer
0a7e6c4c00
Don't set ChannelF byte array domains as non-writable
2024-09-04 15:49:35 -07:00
CasualPokePlayer
f67c766469
fix incorrect constant in cheevo code
2024-09-04 15:40:53 -07:00
CasualPokePlayer
425cafe1e8
[ChannelF] Add cart ram to memory domains, ensure loading a savestate keep the correct byte array for memory domains, expose cart ram for cheevos
2024-09-04 15:38:41 -07:00
CasualPokePlayer
60fae3540d
Prefer EGL over GLX
...
should fix Nvidia proprietary driver issues on XWayland
2024-09-04 12:29:05 -07:00
Asnivor
5d37fb1ec2
ChannelFHawk: Default controls and VirtualPad
2024-09-04 17:36:57 +01:00
Asnivor
999c7c2a80
ChannelFHawk: Updating gamedb
2024-09-04 15:48:05 +01:00
Asnivor
323288872b
ChannelFHawk: Audio subsystem now working correctly, Debugger exception fixed, SyncState updated
2024-09-04 09:55:04 +01:00
CasualPokePlayer
7061acbfcf
silence resharper warning
2024-09-03 14:56:47 -07:00
CasualPokePlayer
38c4e51fbd
Add more proper ZX Spectrum memory maps for cheevos
2024-09-03 14:56:47 -07:00
CasualPokePlayer
c778d49b01
Add DTCM to DS/DSi memory maps for cheevos
2024-09-03 14:56:47 -07:00
Morilli
92724aee0b
Use current value from detailed watches in RamSearch
2024-09-03 01:41:02 +02:00
Morilli
e09bfa8ca9
expose Current value in IMiniWatchDetails
2024-09-03 01:40:59 +02:00
Morilli
b90e40ae5c
don't refetch current vale in MiniWatchDetails.SetPreviousToCurrent
2024-09-03 01:40:56 +02:00
Morilli
3b1ce44fb5
Make MiniWatchDetails derive from MiniWatch
2024-09-03 01:40:54 +02:00
Morilli
70f7238d96
fix ChangeCount logic in MiniWatchDetails
...
fixes another case of #4001 for ram search
2024-09-03 01:40:50 +02:00
Morilli
39ca6ce628
fix DearchivalTests
...
bit ugly that opening an archive or checking its type via sharpcompress seeks the input stream, but welp
2024-09-02 21:43:07 +02:00
YoshiRulz
4fc3d9bd40
Update Meziantou.Analyzer and enable new rule MA0160
...
"Use ContainsKey instead of TryGetValue"
I checked the source and MA0159 "Use 'Order' instead of 'OrderBy'" looks
for the LINQ method in the BCL specifically, not by signature, so we
can't replace our bespoke `OrderBySelfAnalyzer` :(
2024-09-02 22:34:11 +10:00
CasualPokePlayer
57d6355083
Use VersionInfo user agent for rcheevos too
2024-09-01 12:41:25 -07:00
YoshiRulz
e9aba0557e
Use correct product name in `User-Agent` value
2024-09-02 05:31:19 +10:00
YoshiRulz
cda23dd38e
Move `User-Agent` value to `VersionInfo` and ensure it's valid
...
fixes e22082c6b
2024-09-02 05:21:56 +10:00
CasualPokePlayer
133ff5a77e
Suppress the context menu if right click has a binding
2024-08-31 19:07:57 -07:00
CasualPokePlayer
e22082c6b4
Set a user agent for HttpCommunication
2024-08-31 19:07:57 -07:00
YoshiRulz
5b5652d01e
Revert "Update VersionInfo.cs"
...
This reverts commit b9d8af8854
.
Per https://github.com/TASEmulators/BizHawk/wiki/Release-checklist this
should be done immediately before release.
The reason for that is to avoid having several values for dev builds
between releases, a "stable API" if you will.
2024-08-31 22:50:44 +10:00
feos
b9d8af8854
Update VersionInfo.cs
2024-08-31 09:46:54 +03:00
YoshiRulz
c138e38951
Ask the user to reconsider quitting if A/V recording ( resolves #4017 )
2024-08-31 12:34:35 +10:00
YoshiRulz
31b0a29d2d
Refactor `MainForm`'s `Closing` handler
2024-08-31 11:37:55 +10:00
CasualPokePlayer
aeda8f1659
Add microphone button for melonDS
...
This changes the behavior so the user just has to press the microphone button to blow the mic, where the volume of the blowing can be controlled with the mic volume axis (but now the neutral value of mic volume is 100 rather than 0)
2024-08-30 17:35:18 -07:00
CasualPokePlayer
1ce8b855c7
remove app.config dpi stuff
...
mono does not like this (fixes #4002 )
2024-08-30 17:11:22 -07:00
CasualPokePlayer
d70daae5d6
Create Contains impl for arrays, fix device id blacklist detection
2024-08-30 16:10:54 -07:00
CasualPokePlayer
c54102b3a6
prevent Broadwell gpus from using GL interop
...
a user reported to me they just get a crash in DxopenDevice, although yet their pc does not have a dual gpu setup, indicating the drivers for their gpu are rather bad
Intel HD Graphics 5500 was the specific gpu, but i'll just be safe and blacklist all of Broadwell
2024-08-30 01:07:15 -07:00
Morilli
ea1dcf5b22
Simplify SearchEngineSettings ctor
2024-08-30 02:23:40 +02:00
Morilli
82fa98fc7d
Ensure the ram search changes column is in a consistent state
...
the settings store whether or not the column should be visible even though that should be controlled by the Mode setting alone
2024-08-30 02:21:39 +02:00
YoshiRulz
10ebea4dda
Ban `BitConverter.To*`
...
I was hoping not to mute this Analyzer for the Cores project, but there
were a couple usages of `BitConverter` there that were too far gone into
dumb territory to fix in this commit
2024-08-30 00:17:01 +10:00
Morilli
15ac8e2905
Fix cursor icon position in horizontal tastudio orientation
...
necessary with 00228a1f20
2024-08-29 08:22:25 +02:00
YoshiRulz
f09e72e7e0
Clean up `WatchValueBox.SetFromRawInt`
2024-08-29 06:43:14 +02:00
Morilli
d479cb4366
Delete ConversionTests.cs
2024-08-29 06:23:56 +02:00
Morilli
a51ed03c02
move ReinterpretAsF32 to a common location and use it more
...
as well as its inverse
2024-08-29 06:17:40 +02:00
Morilli
5588d68e4a
make DifferentBy uint as well
2024-08-29 05:54:05 +02:00
Morilli
b4bcb5755d
fix some exception types
...
can these even occur?
2024-08-29 05:39:48 +02:00
Morilli
6d9c74b7ea
change a bunch of stuff to uint
...
- closes #4001
2024-08-29 05:35:50 +02:00
Morilli
564b916499
remove unused function
2024-08-29 05:35:27 +02:00
Morilli
3c218c6642
Optimize RamSearchEngine.Preview
2024-08-29 05:35:27 +02:00
CasualPokePlayer
53436e81f5
fix GDI+ on Linux (again)
2024-08-28 20:26:00 -07:00
YoshiRulz
ef028dfea4
Add comment to `TasMovie.AddTasProjLumps`
...
fixes 884110e61
2024-08-29 13:11:27 +10:00
Morilli
884110e61a
Fix TasMovie save when TasStateManager is null
2024-08-28 03:47:38 +02:00
Morilli
74dcd81b85
don't control stop movie in TAStudio movie load
...
was removed in b6a0688be0
, and while not strictly required this will leak TasMovies otherwise.
2024-08-28 03:47:38 +02:00
Morilli
8956657a34
lazy-initialize TasStateManager and markers
...
This is a bit of a dangerous change. Ideally this will fix the TasStateManager being initialized twice for loaded movies and have no other noticable effect.
2024-08-28 03:46:14 +02:00
Morilli
532dc06e64
tweak TasMovie.StartNewRecording slightly
...
StartNewRecording is now always called for new tas projects in TAStudio, and the marker change code in there caused the Changes bool to get set and never cleared.
2024-08-27 23:43:55 +02:00
Morilli
b6c031beaa
Update window titles properly in TAStudio
...
Some change at some point removed code that implicitly triggered window title updates, so they weren't always correct now.
2024-08-27 23:41:52 +02:00
Morilli
4194870f6f
Add tasmovies to recent list on load
...
This was removed in 42aa9d991d
, but I don't remember if it was intentional or a mistake.
In any case it feels bad to open tas movies and not get them added to the recent list.
2024-08-27 23:37:48 +02:00
Morilli
00228a1f20
Tweak some InputRoll values
...
- see #3708
A bit experimental, let's just see how it feels.
2024-08-27 18:53:06 +02:00
CasualPokePlayer
3c1248547f
This should be Max, not Min
2024-08-25 22:10:27 -07:00
CasualPokePlayer
0a9c2dc276
Don't allow 0 width/height rectangle to be used with GDI+'s buffered graphics
2024-08-25 22:09:10 -07:00
CasualPokePlayer
f9883f6700
remove ?
2024-08-25 18:32:53 -07:00
CasualPokePlayer
f18c2467de
Undo previous commits, try setting glx depth explicitly (probably isn't what's needed? maybe it is? ehhh)
...
TODO: this seems to be an issue anyways with buggy nvidia drivers under xwayland, perhaps that setup can be detected and forced over to GDI+?
2024-08-25 18:30:10 -07:00
CasualPokePlayer
516a021add
Try making this actually work
2024-08-25 17:37:41 -07:00
CasualPokePlayer
bb456e45be
Try to workaround some Linux Nvidia driver bug
2024-08-25 15:48:14 -07:00
Morilli
436be60222
cleanup and fix GenericDebugger.DecrementCurrentAddress
2024-08-25 21:07:40 +02:00
Morilli
1ea8cf2f36
check disassembler address properly in GenericDebugger.Disassemble
...
- closes #3524
- the address was not checked on the first call
- the comparison needs to be >=, not >
2024-08-25 21:01:06 +02:00
YoshiRulz
93fe2c8b6a
Ban some more BCL methods (not used anywhere)
2024-08-26 02:01:06 +10:00
YoshiRulz
67f87b15c4
Ban runtime asserts without a message
2024-08-26 02:00:50 +10:00
YoshiRulz
8e12e44411
Ban `Control.Focus`
...
"Focus is a low-level method intended primarily for custom control
authors. Instead, application programmers should use the Select method
or the ActiveControl property for child controls, or the Activate method
for forms." --MSDN
2024-08-26 01:21:40 +10:00
YoshiRulz
2dd87d78f9
Use binary literals instead of `Convert.ToByte` in `D64`
2024-08-25 23:34:09 +10:00
YoshiRulz
c882fe4ea5
Add official `BannedApiAnalyzers` and ban some string parsing methods
2024-08-25 23:31:16 +10:00
YoshiRulz
846253760e
Extract more helpers for finding Lua forms/controls by handle
2024-08-25 03:49:57 +10:00
YoshiRulz
b69e466c03
Extract constant in `FormsLuaLibrary`
2024-08-25 03:39:29 +10:00
YoshiRulz
a1faf8bf0a
Speed up `forms.*` by knowing that form/control handles are unique
2024-08-25 03:39:13 +10:00
YoshiRulz
170d1a62ed
Add warning message for Lua functions called with mismatched x/y/w/h
2024-08-25 03:39:02 +10:00
YoshiRulz
884fee6c6d
Encapsulate x/y/w/h checks in `FormsLuaLibrary`
2024-08-25 03:39:02 +10:00
YoshiRulz
ecaece0488
Fix Lua forms having a blank title when not specified
2024-08-25 03:39:01 +10:00
YoshiRulz
c3057298f9
Fix `forms.destroyall` not clearing the list
2024-08-25 03:39:01 +10:00
YoshiRulz
681a5764d6
Fix LuaPictureBox functions only working on the first form
...
fixes 672536305
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
2024-08-25 03:38:58 +10:00
YoshiRulz
bda40c7ba3
Dedup `forms.{drawString,drawText}` implementations
2024-08-25 03:38:41 +10:00
YoshiRulz
b99a3831e9
Change return type of `BootGodDb.Identify` to `IReadOnlyList`
2024-08-23 16:51:40 +10:00
YoshiRulz
fc446868a7
Fix `BootGodDb.Identify` mutating lookup
...
fixes f010d6f80
, 633216be1
2024-08-23 16:45:44 +10:00
Morilli
8c9587e00b
Fix BootGodDB lookup being completely broken in quicknes
...
- closes #3703
Presumably broken since e38726db50
.
2024-08-22 23:15:20 +02:00
Morilli
f010d6f802
Fix bootgod exception on missing game hash
...
fixes 633216be14
2024-08-22 22:54:21 +02:00
YoshiRulz
7dfb624427
Remove `WorkingDictionary<K, V>`
2024-08-23 02:53:30 +10:00
YoshiRulz
34d71e90bc
Add more `GetValueOrDefault` overloads
2024-08-23 02:53:30 +10:00
YoshiRulz
72b2e78957
Refactor `AutoFireStickyXorAdapter.IncrementLoops`
2024-08-23 02:49:47 +10:00
YoshiRulz
5dd3dc7ae5
Refactor `AutofireController.{IsPressed,LatchFromPhysical}`
2024-08-23 02:49:47 +10:00
YoshiRulz
384e4c913c
Short-circuit loops in `{,Autofire}Controller.LatchFromPhysical`
2024-08-23 02:49:47 +10:00
YoshiRulz
633216be14
Remove `Bag<K, V>`
2024-08-23 02:48:03 +10:00
YoshiRulz
ba4c406a36
Add names to bool argument in `TAStudio.StartNewMovieWrapper` calls
...
fixes b6a0688be
2024-08-22 22:44:14 +10:00
YoshiRulz
325880be18
Further cleanups to `MainForm.ProcessInput`
...
fixes 2f5dfcea3
2024-08-22 22:40:42 +10:00
Morilli
2f5dfcea33
simplify variable assignment
2024-08-22 13:34:39 +02:00
Morilli
17733e38f7
Check all individual buttons with input key priority
...
- closes #3842
If any of the pressed buttons is an input, don't trigger any hotkeys.
2024-08-22 13:33:56 +02:00
Morilli
f07c689c58
Improve horizontal TAStudio layout a bit
...
see #3708
2024-08-22 01:30:46 +02:00
Morilli
b6a0688be0
simplify TAStudio movie starting
...
- removes HandleMovieLoadStuff, which should ™️ not be necessary
- pass newMovie parameter into MainForm.StartNewMovie. This is currently probably irrelevant, but useful later
2024-08-21 22:24:39 +02:00
Morilli
1c44dc5913
don't create undo steps when setting TasMovie.StartsFromSavestate
...
A movie either starts from a savestate, or doesn't. It should not be possible to undo the marker changes done when setting this value.
2024-08-21 22:12:32 +02:00
YoshiRulz
c2a336647c
Use `Type.EmptyTypes` in `MovieImport.ImportFile`
2024-08-21 22:15:14 +10:00
kalimag
4e85a71d53
HexEditor "File on Disk" fixes (squashed PR #3998 )
...
* Fix keeping rom domain selected
* Turn unnecessary field into local
* Handle `null` return from `GetRomBytes()`
* Simplify `GetRomBytes()`
* Add try-catch around opening rom file
2024-08-21 15:59:39 +10:00
CasualPokePlayer
b9cd4a93cc
Remove unneeded modifer
2024-08-20 15:23:36 -07:00
CasualPokePlayer
02acd542c2
Guard against cheat codes in RetroAchievements' hardcore mode
...
originally I thought just blocking the cheat window would be enough, but autoloaded cheat codes could sneak through. An actual check for cheat codes being active prevents this being an issue.
2024-08-20 15:22:39 -07:00
Morilli
beab2b141b
Only force a core name if one exists
...
This could actually not be the case for imported movies for example and is handled elsewhere, but this force parameter breaks rom loading completely when QueuedCoreName is empty.
2024-08-20 23:10:38 +02:00
Morilli
cdd7ee1fea
Improve missing firmware dialog readability
...
see comment here: https://github.com/TASEmulators/BizHawk/issues/3980#issuecomment-2269483563
2024-08-20 23:09:16 +02:00
Morilli
8d4c29a64f
ensure updated core settings are always saved in config
...
- closes #3966
2024-08-18 23:12:24 +02:00
RetroEdit
3ede77b8b7
Change OnMovieEnd default to 'Pause' instead of 'Finish' ( #4008 )
2024-08-18 18:45:04 +03:00
YoshiRulz
d9331c5a28
Add feature flag to disable the gamedb
2024-08-18 16:21:51 +10:00
YoshiRulz
c319bf5fb8
Fix LINQ chain in `FirmwareManager.DoScanAndResolve`
...
fixes 963b925a1
2024-08-18 16:09:31 +10:00
Morilli
963b925a1a
prefer ideal firmware over acceptable firmware
...
see #3974
2024-08-18 03:30:31 +02:00
Morilli
fa08002fbf
don't set quickNES's priority to low
...
it's the preferred core after all, this doesn't make sense
2024-08-18 03:28:56 +02:00
Morilli
92399482d4
also search in descriptions in the lua functions filter
...
- closes #3651
2024-08-18 02:46:57 +02:00
Morilli
e893e3a1ff
Cleanup CueFileResolver
...
also closes #3532
2024-08-18 02:38:23 +02:00
Morilli
7c89bda312
update displaymanager on rom load failure
2024-08-17 22:26:10 +02:00
Morilli
9085bd6e0c
Set correct GameInfo even when rom loading failed
...
- closes #3986
(maybe this should be in CloseGame as well?)
2024-08-17 22:25:55 +02:00
YoshiRulz
60366c13b5
Fix signature of `IMemoryApi.WriteFloat`
2024-08-16 22:49:35 +10:00
YoshiRulz
70b640240e
Simplify boolean comparison
...
this was getting flagged in CI but not on my machine
2024-08-16 21:09:38 +10:00
YoshiRulz
6b160d9bd0
Revert RAM Search refactor (PR #3954 )
...
reverts 1a9e5e52f1
2024-08-15 01:57:47 +10:00
YoshiRulz
0f22ef2ad0
Revert "Change ToRawInt to ToRawUInt"
...
This reverts commit 542e043261
.
2024-08-15 01:53:59 +10:00
YoshiRulz
0184bcd0af
Restore numeric values for `PreviousType` enum
...
fixes 1a9e5e52f
2024-08-14 00:38:12 +10:00
kalimag
ab7f379e74
Correct rewind dialog typo
2024-08-09 19:41:52 +10:00
YoshiRulz
a1aaabe8d5
Add ctors to `LoadRomArgs` and `OpenAdvanced_OpenRom`
2024-08-09 13:36:27 +10:00
YoshiRulz
12310befff
Remove IOpenAdvanced parsing from places unrelated to recents menu
2024-08-09 13:36:22 +10:00
YoshiRulz
9f5a5d8593
Fix crash due to mutating `ToolManager._tools` while enumerating it
...
resolves #3983
2024-08-06 02:11:17 +10:00
kalimag
cdf79d3593
Make external tools path independent of working directory (squashed PR #3987 )
...
* Make external tools path independent of working directory
* Add `ExternalToolsAbsolutePath` extension
* Use absolute path for external tool dependencies as well
2024-08-06 01:56:10 +10:00
CasualPokePlayer
494fe90bfc
fix Tilt Y in 3ds schema
2024-08-05 00:47:49 -07:00
CasualPokePlayer
a675e882fe
avoid double compressing zstd zip entries
2024-08-04 15:08:53 -07:00
CasualPokePlayer
7ebb89fec9
release Encore
2024-08-04 14:30:43 -07:00
CasualPokePlayer
618f66f970
Add 3DS virtualpad schema
2024-08-04 14:26:48 -07:00
CasualPokePlayer
91de8608af
Do image/texture caching better
...
also don't try to cache the sampler / avoid set sampler calls (the sampler is not pipeline specific, so it's affected by other pipelines setting the sampler)
2024-08-03 23:59:20 -07:00
YoshiRulz
2b371e2752
Fix Gambatte and SameBoy palette load file pickers using wrong dir
...
fixes 348cbd18d
2024-08-04 03:46:13 +10:00
YoshiRulz
1bc1f1b3d2
Add overload for `IGuiApi.WithSurface` with stronger encapsulation
2024-07-26 16:03:02 +10:00
YoshiRulz
7b644f771e
Use `System.Drawing.Primitives`
2024-07-26 10:33:20 +10:00
kalimag
413fd40b46
Fix fuzzy cue file resolving
...
Partially revert 7cde8bb
2024-07-25 16:46:28 +10:00
James Groom
3a8b3913bf
Fix Uzebox framerate (squashed PR #3975 )
...
These numbers are derived from the 2010 whitepaper:
NTSC's 4*(315/88 MHz) is doubled to give the master clock rate, which is
then divided by 1820 cycles per line and 262 lines per (progressive)
frame.
---------
Co-authored-by: Morilli <35152647+Morilli@users.noreply.github.com>
2024-07-24 07:31:34 +10:00
YoshiRulz
8fda95066c
Fix value being cached when it shouldn't in `InputRoll.LastVisibleRow`
...
resolves #3972
partially reverts dd4f9aaf6
2024-07-21 06:28:31 +10:00
Morilli
cc1b9c5903
TAStudio: access CurrentTasMovie before stopping it
...
fixes 4c39a81228
- closes #3973
2024-07-20 08:15:10 +02:00
Morilli
5fd3575c0f
Improve tastudio refresh behavior in tastudiolualibrary
...
should resolve #3969 . Let's hope this doesn't break anything.
There still seems to be some overhead, but I can't profile this so I can't say whether it's from submitclearframes or applyinputchanges.
2024-07-20 07:56:52 +02:00
YoshiRulz
cee9661f0e
Reduce indentation in `Bk2Controller.SetFromMnemonic`
2024-07-20 13:41:49 +10:00
YoshiRulz
151491c844
Use an array for `Bk2Controller.ControlsOrdered`
2024-07-20 13:39:37 +10:00
YoshiRulz
1049a091c0
Convert `Bk2Controller.ControlMap` to a struct
2024-07-20 13:38:40 +10:00
YoshiRulz
b7a851ea92
Set default window scale for WonderSwan to 3x
2024-07-19 07:27:13 +10:00
Morilli
15125ec11f
Improve tastudio lualibrary speed
...
see #3969
2024-07-18 02:15:07 +02:00
Morilli
f59cfb1710
set current branch properly in TAStudio movie load
...
apparently, GoToFrame might frameadvance, which in turn calls UpdateAfter(), which in turns updates the current selected branch in the TasSession with the value of the current movie.
So, we need to set the current movie's current branch from the session's value before it gets deleted.
- closes #3968
2024-07-17 22:46:00 +02:00
YoshiRulz
9a5a75e5bb
Add some helpers to `BitmapBuffer`
2024-07-16 08:08:41 +10:00
YoshiRulz
d7e9668d50
Add and use `Span`-from-`IntPtr` helper
2024-07-16 07:30:09 +10:00
YoshiRulz
f742fe55d5
Refactor `ToolManager.Close`
...
that ought to cover everything
2024-07-16 04:09:01 +10:00
YoshiRulz
f9cdad2ea6
Move system-specific helpers in `MainForm` to separate file
2024-07-14 05:40:25 +10:00
YoshiRulz
e49c4689de
Minor refactors to system-specific helpers in `MainForm`
2024-07-14 05:34:42 +10:00
YoshiRulz
b2184e46d5
Clean up some `DropDownOpened` handlers for disk switch submenus
2024-07-14 05:31:04 +10:00
YoshiRulz
65979e61ec
Reduce indentation in system-specific helpers in `MainForm`
2024-07-14 05:25:36 +10:00
YoshiRulz
2321bc55e6
Add `LoadedCoreIsNesHawkInVSMode` helper prop in `MainForm`
2024-07-14 05:10:23 +10:00
YoshiRulz
f21c8b914c
Refactor `MainForm.EnsureCoreIsAccurate`
2024-07-13 01:21:45 +10:00
YoshiRulz
1fdacd762a
Refactor `yield`ing methods to conventional LINQ
2024-07-12 14:42:11 +10:00
YoshiRulz
dfe8b1308c
Refactor `yield`ing methods to direct, stateless returns
2024-07-12 14:42:10 +10:00
YoshiRulz
166f1d537e
Comment-out unused `DiskBuilder.BamEntry.Entries` (C64Hawk)
2024-07-12 14:42:10 +10:00
YoshiRulz
fc8fd64143
Simplify `DiskBuilder.BamEntry.GetBytes` (C64Hawk) implementation
2024-07-12 14:42:10 +10:00
YoshiRulz
18bc51f5e7
Simplify `IDisassemblable.AvailableCpus` implementations
2024-07-12 14:42:10 +10:00