Commit Graph

21575 Commits

Author SHA1 Message Date
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
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