Commit Graph

21596 Commits

Author SHA1 Message Date
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 b8b7fabd3a
Nix expr: Regen NuGet lockfile 2024-09-08 23:18:03 +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 9c93cc0cfb Update readme section re: CLI 2024-09-08 19:48:11 +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 bf5deafdab
Upgrade `CS0809` to an error
"Obsolete member 'memberA' overrides non-obsolete member 'memberB'"
(that simply doesn't work)
2024-09-08 19:34:49 +10:00
YoshiRulz 799f838f13
Manually implement equality on `AxisSpec`
fixes 76a30e5d7
2024-09-08 19:30:29 +10:00
Morilli 0f74595cdb Update gpgx 2024-09-08 10:54:48 +02: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
CasualPokePlayer 3b1641510e [A2600Hawk] Add SP_RESET for Q-Bert
Fixes "Unable to resolve Frame" exception on soft reset
2024-09-07 13:35:51 -07: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
YoshiRulz 945cf5d334
Replace Meziantou.Analyzers rule with first-party .NET rule 2024-09-07 08:02:01 +10: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