Commit Graph

1631 Commits

Author SHA1 Message Date
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
sylverb
869839317b Merged retro-go-stm32 latest commit 2023-10-11 09:05:09 +02:00
Sylver Bruneau
e161cf1059 Merge pull request #43 from BenjaminSoelberg/DEFLICKER
Live background update and preview in all emulators
2023-10-11 09:03:06 +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
22a19bea94 bunped retro-go-stm32 2023-10-07 13:27:24 +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
Benjamin Sølberg
3c4b97b1e4 Added new LCD function to assist de-flickering 2023-10-06 19:45:59 +02:00
Brian Pugh
185a86cc59 update littlefs to v2.8.0 2023-09-27 14:24:10 -07:00
Sylver Bruneau
9f802c8e88 Merge pull request #42 from BenjaminSoelberg/msx_wsv_genesis
Rebase fixup
2023-09-27 07:00:51 +02:00
Benjamin Sølberg
0fa2f1adee Rebase fixup 2023-09-26 19:13:45 +02:00
Sylver Bruneau
c229b0c5c5 Merge pull request #41 from BenjaminSoelberg/ALL_BUTTONS_EXIT
All buttons except arrows and the A will now exit an odroid_overlay_dialog box
2023-09-26 09:49:32 +02:00
Sylver Bruneau
55e6b92e9f Merge pull request #40 from BenjaminSoelberg/LOG_BUFFER_OVERWRITE
Fixed a buffer overflow in the log buffer
2023-09-26 09:48:51 +02:00
Sylver Bruneau
d2c8de1df6 Merge pull request #39 from BenjaminSoelberg/msx_wsv_genesis
Fixed a bug where previous or next valid item in a dialog box was calculated wrong if only one item was selectable.
2023-09-26 09:47:45 +02:00
sylverb
ab9246a761 Update retro-go-stm32 for live background updates commit 2023-09-26 09:44:19 +02:00
Sylver Bruneau
2f317b2a50 Merge pull request #38 from BenjaminSoelberg/LIVE_BACKGROUND
Added support for live background updates while showing a dialog box
2023-09-26 09:41:28 +02:00
Sylver Bruneau
cbdee6c583 Merge branch 'msx_wsv_genesis' into LIVE_BACKGROUND 2023-09-26 09:41:02 +02:00
Sylver Bruneau
eb77c16b03 Merge pull request #37 from BenjaminSoelberg/DARK_UNTIL_RELEASE_FIX
Fixed an issue when pushing pause/set to show the "Options" dialog box.
2023-09-26 09:20:18 +02:00
Sylver Bruneau
70796fb4eb Merge pull request #36 from BenjaminSoelberg/NO_WARNINGS
Fixed all (8) warnings when compiling without COVERFLOW=1
2023-09-26 09:19:55 +02:00
Sylver Bruneau
17dee09c73 Merge pull request #35 from BenjaminSoelberg/DATE_TIME_FIX
RTC date time handling rewrite
2023-09-26 09:19:28 +02:00
Benjamin Sølberg
4a1d5f9f8c Orphan TODO removed 2023-09-23 20:55:55 +02:00
Benjamin Sølberg
c9bdc89b2d Added live background to emulator_show_file_info and emulator_show_file_menu as well 2023-09-23 20:31:25 +02:00
Benjamin Sølberg
e64ebfbb5a All buttons except arrows and the A will now exit an odroid_overlay_dialog box. This makes it easy to enter and exit a dialog box by pressing the same button twice. 2023-09-23 20:04:01 +02:00
Benjamin Sølberg
f111d72b57 Fixed a problem with the log buffer where a print filling up the last remaining would overwrite the buffer with a single byte with a null byte hence overwriting the first byte of log_idx. Also made _write updating log_idx in a transactional manner. 2023-09-20 02:00:02 +02:00
Benjamin Sølberg
7488929413 Additional UI modder added. 2023-09-17 20:43:56 +02:00
Benjamin Sølberg
43b62b1e31 RTC subsecond direction fixed.
GW_GetCurrentMillis() added.
Blinking ":" duty cycle now exactly 50%
Minor odroid_overlay_darken_all speedup
2023-09-17 20:07:42 +02:00
Benjamin Sølberg
c6f761de82 Fixed a bug where previous or next valid item in a dialog box was calculated wrong if only one item was selectable. 2023-09-14 22:55:08 +02:00
Benjamin Sølberg
7a56822847 Added support for live background updates while showing a dialog box. This has the benefit of updating both battery and clock status while displaying any of main dialog boxe. This also fixing a gui glitch when the dialog box changes the width while updating or displaying the date/time or when settings->font change.
The API is fully backwards compatible.
2023-09-13 00:16:46 +02:00
Benjamin Sølberg
1dfe3f0314 Fixed an issue when pushing pause/set to show the "Options" dialog box darkened the display without showing the dialog box, not until the button was released. Other dialog boxed did not present this behavior.
The option dialog box is now shown when the specific option button (select or pause/set) is depressed which is the expected behavior throughout the system.
2023-09-06 20:41:02 +02:00
Benjamin Sølberg
bc28531e59 Fixed all (8) warnings when compiling without COVERFLOW=1 2023-09-05 21:42:43 +02:00
Benjamin Sølberg
93e57856ee The blinking ":" in the clock now has a duty cycle of 50/50 and not 40/60 2023-09-05 20:35:03 +02:00
Benjamin Sølberg
8ae2794f7a G&W emulator RTC API usage updated. 2023-09-05 20:35:03 +02:00
Benjamin Sølberg
3bf3a51127 Fixed a lot of issues with date setting. Added automatic date adjustment for existing date if it were wrong. Encapsulated date and time calculations into its own file.
Usage of:
    HAL_RTC_GetTime(&hrtc, &GW_currentTime, RTC_FORMAT_BIN);
    HAL_RTC_GetDate(&hrtc, &GW_currentDate, RTC_FORMAT_BIN);
has been deprecated outside the RTC

Added correct date value looping and adjustment like if you add one month to 2000-01-31 then you will get 2000-02-29 and so on.

All date and time calculations now uses tm struct.

The rtc is read and converted using tm -> time -> tm to normalize any invalid date time values in the RTC.

Updating the RTC is done through tm -> RTC.

This should, in the end, ensure that the RTC always holds valid date and time values as well as setting them using the GUI is pleasing, works like expected and almost unassuming.

Setting the date now goes in YEAR->MONTH->DATE order to avoid users getting unexpected results when setting say to 31 and then advancing month past long and short months.
2023-09-05 20:35:03 +02:00
Benjamin Sølberg
761fbefa70 Moved gui specific option handling from rg_rtc.c code to rg_main.c code. No functional changes in this commit, only structural. 2023-09-05 20:34:48 +02:00
Benjamin Sølberg
73d147eb9f Update .gitignore to ignore CLion project files 2023-09-05 20:25:02 +02:00
Sylver Bruneau
f957599fb1 Merge pull request #32 from sylverb/filesystem-gnwmanager
Filesystem gnwmanager
2023-09-03 19:23:26 +02:00
Sylver Bruneau
8193cdf219 Merge pull request #33 from BenjaminSoelberg/OPTION_ITEM_DISABLED
Fixed an issue where options where selectable purely for it box color property
2023-09-03 19:20:22 +02:00
Sylver Bruneau
52c3615435 Merge pull request #31 from BenjaminSoelberg/NON_INVERTING_BARGRAPH
Fixed selected settings item for volume and brightness so it no longer is showing an inverted bar graph
2023-09-03 19:18:30 +02:00