Commit Graph

883 Commits

Author SHA1 Message Date
Brian Pugh
1c79eac2a2 update littlefs submodule v2.8.0->v2.9.0 2024-02-17 09:19:04 -08:00
Sylver Bruneau
00d8cba3f8 Merge branch 'filesystem_wip' into filesystem 2023-12-30 15:15:22 +01:00
sylverb
4e030b9c56 Preliminar support of Videopac/Odyssey2 systems 2023-12-30 01:46:12 +01:00
sylverb
260fd1535a Now audio buffer in AHB ram is allocated dynamically using odroid_set_audio_dma_size() 2023-12-29 23:21:29 +01:00
sylverb
ba0fd0d2c3 Mute audio when reloading savestate due to a power off/power on
it was missing in few emulators
2023-12-29 21:34:56 +01:00
sylverb
1dfe69425a Zelda3/SMW : Unmute audio after performing a save/restore state 2023-12-29 19:34:52 +01:00
sylverb
d8780dbe5c Minor warning removal 2023-12-29 14:48:12 +01:00
Benjamin Sølberg
c77006d1fe Generic "show file" overlay "Resume game" options is depending on availability either visually disabled or enabled 2023-12-29 01:28:22 +01:00
Benjamin Sølberg
d8516f3d21 NES options "eject disk" & "swap side" is depending on availability either visually disabled or enabled 2023-12-29 01:25:16 +01:00
Benjamin Sølberg
9d2ee00acf GB "palette" option now depending on gb or gbc game either visually enabled or disabled 2023-12-29 01:24:41 +01:00
Benjamin Sølberg
404fb5b51b Gwenesis "debug" options now only available if ENABLE_DEBUG_OPTIONS set to non-zero. 2023-12-29 01:21:36 +01:00
Benjamin Sølberg
b7396adc65 Fixed PCE_SHOW_DEBUG information 2023-12-29 01:21:07 +01:00
Benjamin Sølberg
5d3ddd694f Fixed missing LCD frames die to dma state not kept in static var 2023-12-29 01:19:36 +01:00
sylverb
4e92aaa3fe Cleanup of some useless includes
fix compilation for Amstrad and PCE emulators
2023-12-29 01:16:27 +01:00
sylverb
a60c5f2dde Zelda 3 & SMW : add support for savestates in filesystem 2023-12-28 17:42:21 +01:00
sylverb
da5fc4c380 LCD synchronization missing change 2023-12-26 19:19:55 +01:00
sylverb
7e89114a8c Fix incorrect screen refresh rate on system that can run at 50Hz 2023-12-26 18:15:08 +01:00
sylverb
9dc8574e30 Cleanup: Unused buffer and variable removed 2023-12-26 17:55:55 +01:00
sylverb
d8bd0ec81f LCD synchronization has been removed from all emulators as it was causing sound jitter.
The underlying reason was that the LCD with a "60/50 hz" refresh rate is a tad slower than the sound DMA buffer.
Sound is running about 60.05 hz and LCD about 59.69 hz.

Please note:
This "fix" is a regression back to an unsynchronized LCD double buffer system where a single frame is dropped every 2.7 sec when the swap and LCD reload occurs within a narrow window.
Buffer tearing also exists every 2.7 for about 35 frames where the last 30 lines are taken from the active buffer rather than the inactive.

A new LCD syncing system without "wait for swap" need to be implemented to fix this across all emulators in general.
2023-12-26 17:53:13 +01:00
sylverb
940af4e2c7 Preliminar support of Zelda 3 and Super Mario World 2023-12-26 17:32:17 +01:00
Brian Pugh
8ac11df115 working filesystem format error screen 2023-12-17 20:55:45 -08:00
Brian Pugh
0651ff8923 Abstract out error-screen to it's own file/function. 2023-12-17 16:44:32 -08:00
Brian Pugh
cbe8f3815f fix BrianPugh menu item 2023-12-17 12:53:48 -08:00
sylverb
648ceed361 Fix compilation issue when using FORCE_NOFRENDO=1 to for use of previous nes emulator 2023-12-13 21:01:47 +01:00
sylverb
03f26fa691 tgb-dual : Fix poweroff savestate issue & improved frameskip handlingy 2023-12-13 14:22:06 +01:00
sylverb
a0eab3646c Default GB/GBC emulator is now tgb-dual
Several additions to add support for C++ emulators
2023-12-12 13:38:59 +01:00
Brian Pugh
73f7bdd341 Merge branch 'msx_wsv_genesis' into filesystem 2023-12-10 16:46:20 -08:00
Brian Pugh
a35738585a Merge branch 'msx_wsv_genesis' into filesystem-update 2023-12-08 19:24:18 -08:00
Benjamin Sølberg
2f9527a04d Removed old and unneeded code that did an out-of-band screen update which caused a single frame jitter when using coverflow with images and scrolling the list. 2023-12-02 20:34:29 +01:00
Benjamin Sølberg
0bb56399bf Temporary disabled calls to common_sleep_while_lcd_swap_pending() in the GB emulator as it causes sound jitter/issues (Verified in Super Mario Land 2.0 rom hack) 2023-12-01 19:14:56 +01:00
Sylver Bruneau
a06310c257 Merge pull request #45 from BenjaminSoelberg/TAB_FRAME_FIX
Single blank tab frame fix
2023-11-05 21:05:08 +01:00
Benjamin Sølberg
0036d2076a Fix for G&W emulator, sound generation runs with a framerate of 128hz and should not be sync'ed to display framerate 2023-11-05 15:12:08 +01:00
Benjamin Sølberg
4b74dfcd1e Removed an empty list screen frame when changing to a new uninitialized tab to make tab switching look more instantaneous.
Extracted menu code into own functions to improve readability.
Removed old dangling commented code.
Removed a single warning when compiling with INTFLASH_BANK=2.
2023-10-30 20:54:27 +01:00
Benjamin Sølberg
a54168d38b Unnecessary calls to gui_redraw() removed 2023-10-30 20:54:26 +01:00
Sylver Bruneau
1fc706a0e0 Merge pull request #44 from BenjaminSoelberg/LCD_WAIT_SWAP
Sleep while LCD swap is pending + adjacent fixes
2023-10-29 20:41:07 +01:00
Benjamin Sølberg
d16c3f3779 Debug clock dialog updated the debug register more often than needed 2023-10-27 00:45:28 +02:00
Benjamin Sølberg
7ff4b158c7 Added calls to common_sleep_if_lcd_swap_pending().
Fixed missing handling of drawFrame and bad sound while frame skipping.
2023-10-25 20:29:49 +02:00
Benjamin Sølberg
072476994d Added calls to common_sleep_if_lcd_swap_pending() in most emulators. 2023-10-25 20:28:41 +02:00
Benjamin Sølberg
13c2ef7de0 Fixed and optimized "Power off" animation to new paint system 2023-10-25 20:25:27 +02:00
Benjamin Sølberg
38a9691ac0 New lcd update(blit) layout is:
1) sleep while swap is in progress
2) update active buffer
3) swap

Retro Go gui now uses lcd_sleep_while_swap_pending to save power.

Any existing in-game overlay will now correctly timeout while showing in-game menu and in-game settings menu.
2023-10-25 20:24:38 +02:00
Benjamin Sølberg
66c07f8f47 Added repaint for date and time dialog boxes
Added repaint to odroid_overlay_confirm and callers
2023-10-25 20:14:12 +02:00
Benjamin Sølberg
aa5328cb5f Added/updated LCD functions to assist waiting for the swap to complete. Replaced NOP loops with WFI to save power. 2023-10-25 20:13:49 +02:00
Benjamin Sølberg
1fb3e0d162 New debug clock handling that gets us the lowest power consumption while still keeping the necessary debug clock running when needed.
The "sleep" debug clock is needed to be able to reflash G&W while in WFI.

While powered on:
Debug clock "Always on" = All debug clocks are turned on
Debug clock "Auto"      = Sleep debug clock (wfi) is turned on

While powered off:
Debug clock "Always on" = All debug clocks are turned on (consuming a few milli amps)
Debug clock "Auto"      = No debug clock are running (same as it used to be)
2023-10-25 20:13:49 +02:00
sylverb
06cd3303da Amstrad : allow to set custom key for all buttons 2023-10-15 17:45:43 +02:00
sylverb
08f69388b8 Allow one more entry in option menu 2023-10-15 17:44:47 +02:00
Benjamin Sølberg
cf7ce0a3c3 Removed a single frame jitter when clearing the in-game overlay. The same goes for when exiting the in-game menu dialog box. 2023-10-07 23:38:00 +02:00
Benjamin Sølberg
98b0f6d9af Darken magic no longer needed 2023-10-07 15:06:16 +02:00
Benjamin Sølberg
4f127ad23a Updated all emulators to take advantage of the live background update while showing dialog boxes and ingame overlays.
Fixed sound glitches in main_pce.c & main_smsplusgx.c when running emulators faster than default.
2023-10-06 19:54:01 +02:00
Benjamin Sølberg
3d4910e5df Added live update for all game dialog boxes.
Fixed ingame overlay partial black frame bug upon clearing it.
De-flicker (with the use of lcd_clone rather than lcd_sync)
2023-10-06 19:49:29 +02:00
Benjamin Sølberg
42f5f9b9a1 De-flickered RG gui repaint 2023-10-06 19:47:07 +02:00