131 Commits

Author SHA1 Message Date
Adam Minchinton
7f0dd97118 Update drawn UI to use new C_GW_MAIN_COLOR 2021-11-16 22:16:58 +01:00
Konrad Beckmann
c3b282a67f Mute audio while saving screenshot 2021-11-02 22:52:11 +01:00
Konrad Beckmann
0d2a7da11a Use correct number of entries for app settings
Fixes garbage text and crashes in settings for
PCE and GW.
2021-11-02 22:10:37 +01:00
Konrad Beckmann
086f50e8d2 Use a global enum definition for appids 2021-11-02 22:09:00 +01:00
Konrad Beckmann
ee3cb5e9b5 Add screenshot support
Closes #163
2021-10-31 02:30:13 +02:00
wzhy90
a9d68f3cf8 gb: Add original resolution
Added:
- Off + any -> 160x144 resolution
2021-10-30 00:27:04 +02:00
Konrad Beckmann
017e2c7183 gb: Add more scaling options
Added:
- Fit + Soft -> bilinear scaling
- Full + Off -> NN scaling
2021-10-23 23:34:00 +02:00
Konrad Beckmann
b51f0f99d5 nes/gb: Add support for scale and filter algorithms
Partial solution for #95
2021-10-17 19:58:52 +02:00
Konrad Beckmann
290a9402c4 Add option to disable save state support (STATE_SAVING=0) 2021-10-10 15:28:18 +02:00
Konrad Beckmann
4867b664b8 Bump settings version
When important changes happen in the
settings struct or handling, the version
field should be increased.

Doing so will cause the settings to reset
to the default (a lazy migration, but better
than nothing).

After we added more backlight levels, it was
possible to end up with a very dark screen when
having an old config from a previous build.
2021-09-18 17:27:44 +02:00
Brian Pugh
3e9ec78a11 LZMA ROM compression (#148)
* lzma initial commit

* Save 13 bytes per lzma compression

* initial lzma support

* update readme

* Update submodule

* linux: Fix gb makefile

Co-authored-by: Konrad Beckmann <konrad.beckmann@gmail.com>
2021-09-18 17:09:28 +02:00
Konrad Beckmann
28130acd8f Add NULL-checks for load and save state functions
Fixes a bug where it would crash if the power button is pressed
while an overlay is active in the ROM selection menu.
2021-09-01 15:33:46 +02:00
Konrad Beckmann
f8ae6ee682 Remove accidentally added submodule 2021-08-25 17:44:11 +02:00
Brian Pugh
c1cddb4769 Increase number of brightness levels to 10 (#141) 2021-08-25 17:42:06 +02:00
bzhxx
f80ef35fc4 Fix G&W keys abstraction issue #130 (#138)
Closes #130
2021-08-22 23:03:03 +02:00
Brian Pugh
dbc2253023 Working Bank2 Flashapp (#131)
* set intflash address when programming

* Allow flashapp to work when flashing bank 2

* update readme

* Add tim bootloader SRAM magic-byte

* move boot stuff around to more appropriate locations
2021-08-15 21:42:57 +02:00
Konrad Beckmann
a0497229fd Set default display brightness to level3 2021-08-12 20:00:51 +02:00
Brian Pugh
5b8a944791 fix game and watch speed issues (#129) 2021-08-12 07:47:36 +02:00
Konrad Beckmann
283a0619df Add lz4 support for PCE engine
Limited to roms smaller than 300k
2021-08-11 21:51:19 +02:00
zx81
6d269a8219 Zx81 (#126)
* - Fix sound in PCE emu
* - New fixes for PCE audio
2021-08-10 14:07:08 +02:00
Konrad Beckmann
550a9eaca7 gw: Integrate on screen display etc 2021-08-09 20:21:17 +02:00
ludo
3514fb8613 Add GW support 2021-08-09 20:20:17 +02:00
Brian Pugh
f96b4bcb43 In-game macro overlay (#122)
* draw_darken_rounded_rectangle initial commit

* image drawing routines

* mostly working static overlay

* use 24x24 instead of 32x32 images, slightly tweak some layout

* complete volume and brightness overlays

* save/load overlay

* png icons and tool to convert them to bit arrays

* add speedup overlay icons

* install common_ingame_overlay hook to all emulators

* explicitly invoke ingame overlay when saving so that the icon shows up before the pause

* make transparency look a little better on dark backgrounds

* tweak bars offset

* have pce use lcd_get_active_framebuffer

* shift sun 1 pixel to the right; even though it's just as off-centered, it looks better
2021-08-08 16:11:50 +02:00
Brian Pugh
eeffce05c6 Fix slightly incorrect buffer swapping in nes osd_blitscreen 2021-08-07 18:29:09 +02:00
Brian Pugh
fbb791b0a6 Fix sms from emulating 5% too fast introduced in b6bbe8e2. Slightly increase target frame period accuracy for all emulators 2021-08-04 19:58:00 +02:00
Brian Pugh
a3af61f484 continue drawing frames and don't skip until CPU usage hits 100 percent 2021-08-03 23:58:49 +02:00
Konrad Beckmann
ade7cb6fc5 New flash driver and integrated loader 2021-08-03 17:06:54 +02:00
Brian Pugh
1541393509 Long hold pause/set to toggle speedup (#114)
* nes long hold pause/set to toggle speedup

* refactor nes common emu loop; need to fix busyTime

* move odroid_system_tick into common loop, fix cpumon

* nes common_emu_loop

* pce common_emu_loop

* sms common_emu_loop

* fix some warnings

* setup pause/set macros; remove speedup based on long-pressing pause/set

* Update readme. Initial Controls section commit

* linting

* mute while macro save-stating
2021-07-29 20:20:55 +02:00
Brian Pugh
0403b679cb change pce pause_pressed and power_pressed to correct dtypes 2021-07-25 09:17:38 +02:00
Brian Pugh
88c8df2492 change sms pause_pressed and power_pressed to correct dtypes 2021-07-25 09:17:38 +02:00
Brian Pugh
1dedf5986a change gb pause_pressed and power_pressed to correct dtypes 2021-07-25 09:17:38 +02:00
Brian Pugh
1925bcccb5 change nes pause_pressed and power_pressed to correct dtypes 2021-07-25 09:17:38 +02:00
Brian Pugh
836db3157c Have NES use joystick abstraction (matching other emus) rather than directly reading raw gnw buttons 2021-07-25 09:17:38 +02:00
Brian Pugh
2d166d5cb0 Save state and poweroff when power is pressed when in-menu (#112) 2021-07-24 18:12:08 +02:00
Brian Pugh
b6bbe8e2bb Add 0.5x, 0.75x, 1.25x and 1.5x speed options (#111)
* fix GB speedup, add 1.25x and 1.5x options

* Add options for 0.5x and 0.75x in gb

* nes speedup

* pce speedup

* sms speedup

Closes #110
Closes #56
2021-07-21 08:23:46 +02:00
Rustam Zinurov
94062c331c Issue 101: Remember the last selected game in the menu after reset (#108)
Remember the last selected game in the menu after reset

Closes #101 

Add two extra variables to odroid settings:
 - main_menu_selected_tab
 - main_menu_cursor

* Reset active tab on power off

* Update retro-go-stm32 submodule to latest main

* Remember the last selected game in the menu on power off
2021-07-14 22:21:52 +02:00
Brian Pugh
864c488c3e Initial attempt at deflate nes support 2021-07-08 20:06:43 +02:00
Konrad Beckmann
e20419fd99 Ensure that the main menu will be entered after resetting. 2021-07-03 01:52:51 +02:00
Konrad Beckmann
c73bd95d74 Suspend after idling in the main menu
Default timeout is 10 minutes.

Also adds a configurable timeout for this.

Closes #80
2021-07-03 01:45:02 +02:00
Konrad Beckmann
e79c4fab0b Commit settings when going to sleep 2021-07-03 00:42:02 +02:00
Konrad Beckmann
b9f8d23d76 Lower the default volume to avoid brown outs when powered through USB 2021-07-02 12:36:23 +02:00
Konrad Beckmann
4be407159f emulators: Render frames and pause on power resume
When the user presses the power button from the off
state, the last played game will load. A few frames
will be rendered and the emulator will be paused.

Closes #10
2021-07-01 21:02:16 +02:00
Konrad Beckmann
1b1c5afb24 update submodule and match odroid_settings_StartupFile_get/set 2021-07-01 00:55:21 +02:00
Konrad Beckmann
559e2fc6ec Resume last played game when booting
Closes #38
2021-07-01 00:24:01 +02:00
Konrad Beckmann
95520b8cd2 odroid: Fix FPS/skip/busy counters 2021-06-30 23:22:11 +02:00
ludo
00dd5bb3ed - Add all coleco keys using gw combo keys
GW Key       : Coleco
 Game         : 1
 Game + Up    : 2
 Game + Left  : 3
 Game + Down  : 4
 Game + Right : 5
 Game + A     : 6
 Game + B     : 0
 Time         : #
 Time + Up    : *
 Time + Left  : 9
 Time + Down  : 8
 Time + Right : 7
 Time + A     : 6
 Time + B     : 5
2021-06-30 00:21:15 +02:00
ludo
711052daf7 - Add SG-1000 support 2021-06-30 00:21:12 +02:00
ludo
c01ee42360 Add support of Colecovision 2021-06-30 00:21:05 +02:00
bzhxx
b30d09365c GB/GBC : add LZ4 ROM compressed support (#91)
* add LZ4 decompression support

* NES: add support for LZ4 compressed ROM. Example : lz4 --best --content-size --no-frame-crc my_rom.nes my_compressed_rom.nes

* fix Makefile

* nes: Expose a buffer with unused ram

* nes: Fix indentation in osd_getromdata

* nes: Use _NES_ROM_UNPACK_BUFFER for LZ4 unpacking

* parse_roms: Compress NES ROMs with LZ4

* fix python typing for backward compatibility 3.6

* NES LZ4 support : add LZ4 format parsing

* Update parse_roms.py

remove unecessary line.

* Update lz4_depack.c

reorder the source code. The notice is now at the top.

* Update parse_roms.py

clean up.

* Update lz4_depack.c

remove  <string.h>.

* change submodule link

* typo comment fix

* GB/GBC add LZ4 ROM compression

* LZ4 library can be shared between emulators

* Add GB SRAM buffer setup using linker

* GB/GBC add LZ4 ROM support with bank switching

* add LZ4 decompress function in assembler for fun and test

* Remove static SRAM memory allocation used by the save function to increase the bank switching cache (14 > 26). The SRAM cache is stolen during save and reloaded right after

* add support for Mix compression and alternative compression statregy to limite cache swapping. By default (--compress), all the banks are compressed except bank#0. Using (--compress_gb_speed), the ROM banks are lightly compressed by selecting the larger banks to fill the cache and by trimming the empty banks. The option (--compress_gb_speed) can be used when a game speed is affected by the compression by default (--compress).

* update LZ4 loader with increased SRAM cache size and support for mixing compressed/uncompressed banks

* Fix to support MBC5 8MB ROM size (256 banks)Fix to support MBC5 8MB ROM size (256 banks)

* Linux emulator NES and GB start checked

* module update.

* Update parse_roms.py

remove print.

* update submodule. fix. LZ4 GB for roms size > 2MB

* LZ4 change compression args --best replaced by -9. Fix typo in new args

* Revert "Merge remote-tracking branch 'upstream/main' into main"

This reverts commit 487606760c, reversing
changes made to d9ab8c2870.

* Revert "Revert "Merge remote-tracking branch 'upstream/main' into main""

This reverts commit 6882de3955.

* GB/GBC: fix LCD glitch at the start by cleaning up the buffer emulator

Co-authored-by: Konrad Beckmann <konrad.beckmann@gmail.com>
Co-authored-by: brice <brice.lehouerou@free.fr>
2021-06-25 09:10:30 +02:00
Konrad Beckmann
a3149424f5 pce: Convert to spaces 2021-05-24 14:11:58 +02:00