55 Commits

Author SHA1 Message Date
Konrad Beckmann
086f50e8d2 Use a global enum definition for appids 2021-11-02 22:09:00 +01: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
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
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
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
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
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
Brian Pugh
864c488c3e Initial attempt at deflate nes support 2021-07-08 20:06:43 +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
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
559e2fc6ec Resume last played game when booting
Closes #38
2021-07-01 00:24:01 +02:00
Konrad Beckmann
5db4adc40f Increase audio level with a factor 2
Sound will be twice as loud now.

This may lead to a brownout if the battery isn't connected.
2021-05-24 14:09:43 +02:00
bzhxx
8a4ede05c1 nes: Add LZ4 compression support (#86)
Co-authored-by: Konrad Beckmann <konrad.beckmann@gmail.com>
2021-04-26 21:12:29 +02:00
Scorp0rX0r
0e2edb09d2 Fix LCD init and merge resume support 2021-02-07 16:36:09 +01:00
Konrad Beckmann
6932a5f341 Improve audio volume calculation 2021-01-18 21:31:34 +01:00
Konrad Beckmann
7ce42520d6 Move headers to more sensible places 2021-01-12 23:49:30 +01:00
Konrad Beckmann
0d9d7605e7 nes: Update submodule and adjust integration 2021-01-11 11:22:26 +01:00
Jan Dumon
00e5d9a25c Added a watchdog to avoid power-cycles when things go wrong 2021-01-08 14:28:48 +01:00
Jan Dumon
0b553b87da Load emulators from flash into memory
This was originally written by Thomas Roth <code@stacksmashing.net> to
make it possible to support more emulators than what fits into memory at
the same time (commit c13aa09b).

Instead of generating a monolithic binary, the different emulators are
stored in flash and loaded into ram right before they are launched.

This is the basis for adding more emulators e.g. smsplusgx.
2021-01-04 17:20:48 +01:00
Konrad Beckmann
59b841ac7a Include region in rom parsing 2020-12-28 21:59:47 +01:00
Konrad Beckmann
e4add4a4a4 nes: Support PAL and NTSC 2020-12-28 21:21:06 +01:00
Konrad Beckmann
bd02b964fe Fix some additional warnings 2020-12-27 22:01:33 +01:00
Jan Dumon
e618b0d8ef fixed compiler warnings 2020-12-27 19:54:48 +01:00
Konrad Beckmann
09148a16f6 Fix rendering bug, support changing palettes 2020-12-27 16:34:33 +01:00
Konrad Beckmann
83e169b307 Improved performance 2020-12-27 16:28:48 +01:00
Konrad Beckmann
69c8bb9ad3 Fix padding 2020-12-27 16:28:41 +01:00
Konrad Beckmann
9c9a9d8c7f Fancy upscaling 2020-12-27 16:28:36 +01:00
Konrad Beckmann
c9904a37a3 Improve blit/scaling performance 2020-12-27 16:28:30 +01:00
Konrad Beckmann
26b9c90c39 Optimize blitting 2020-12-27 16:24:40 +01:00
Konrad Beckmann
c01f51ff57 Finalize state save/load for gb and nes 2020-12-27 16:21:59 +01:00
Konrad Beckmann
0a93f7752f Control volume correctly 2020-12-27 16:21:48 +01:00
Konrad Beckmann
04b704a1d4 Improve menus 2020-12-27 16:21:44 +01:00
Konrad Beckmann
97058dd5ef nes: Enable OSD menu 2020-12-27 16:21:36 +01:00
Konrad Beckmann
0b5784d963 nes: Detect PAL/NTSC correctly 2020-12-27 16:21:32 +01:00
Konrad Beckmann
179ba9bc6b Fix loading of nes roms 2020-12-27 16:20:44 +01:00
Thomas Roth
003c1eeb62 Fix build issues 2020-12-27 16:20:38 +01:00
Thomas Roth
c05d489231 Remove unused rom_info.h dependency 2020-12-27 16:20:26 +01:00
Thomas Roth
8bb62c2af8 Working NES and GB switching 2020-12-27 16:20:14 +01:00
Konrad Beckmann
d4854c7310 Add initial GUI hack 2020-12-27 16:17:27 +01:00
Konrad Beckmann
95252992b8 Fix nes NN blit function
Also add possibility to choose between 307 and 320
pixels wide upscaling.
2020-12-18 13:48:36 +01:00
Konrad Beckmann
b7cc8814bb Sample initial button states 2020-12-11 02:24:49 +01:00
Konrad Beckmann
a31273498b nes: Support toggling ROM cache 2020-12-11 02:11:31 +01:00
Konrad Beckmann
b34ad0da0e nes: Improve NN scaling 2020-12-09 17:19:26 +01:00
Konrad Beckmann
8bb7344101 Squash largeflash_snapshots
Squashed commit of the following:

commit 8bdab8b69ee37aeafedb8da7d13fb6c02c35cc04
Author: Konrad Beckmann <konrad.beckmann@gmail.com>
Date:   Sun Dec 6 15:11:47 2020 +0100

    Update submodule

commit eaaf1893e4dc8c6ec66039a99de057de60b5f2b5
Author: Konrad Beckmann <konrad.beckmann@gmail.com>
Date:   Sun Dec 6 15:11:38 2020 +0100

    Use HALF_QUAD_MODE

commit 069985bec8b78e3c54fda2ef632ce9d7e3e79eaf
Author: Konrad Beckmann <konrad.beckmann@gmail.com>
Date:   Sun Dec 6 15:11:27 2020 +0100

    Add missing file

commit d0bb4e89f1701097f4c8e6f81ac39561157e1ea8
Author: Thomas Roth <code@stacksmashing.net>
Date:   Sat Dec 5 13:59:18 2020 +0100

    Fix HALF_QUAD_MODE support

commit d87def7b63b297231b4b9419998d63f878cce8d6
Author: Thomas Roth <code@stacksmashing.net>
Date:   Sat Dec 5 13:42:27 2020 +0100

    Add support for different flash sizes

commit 85da98252194eaeb7344b7edd3b4655996e96344
Merge: c2be063 df701cd
Author: Konrad Beckmann <konrad.beckmann@gmail.com>
Date:   Sat Dec 5 01:06:47 2020 +0100

    Merge remote-tracking branch 'origin/main' into largeflash_snapshots

commit c2be0637a99b41dbbcdab8db96dd5a4fd9f917c1
Author: Thomas Roth <code@stacksmashing.net>
Date:   Fri Dec 4 23:07:48 2020 +0100

    Enable nearest-neighbor with -DBLIT_NEAREST

commit 4706648eb4a777431ab82ae9f16bec1535d97ae3
Author: Thomas Roth <code@stacksmashing.net>
Date:   Fri Dec 4 22:51:40 2020 +0100

    Vsync

commit 692bf35345b1eae52a2cc88510f785daf8c29ccb
Author: Thomas Roth <code@stacksmashing.net>
Date:   Fri Dec 4 22:25:26 2020 +0100

    Update retro-go-stm32

commit b3caa6dd3a946e8d0e799779130daaab15a0ae8b
Author: Thomas Roth <code@stacksmashing.net>
Date:   Fri Dec 4 20:27:27 2020 +0100

    Initial snapshot support (large flash only)
2020-12-06 15:28:42 +01:00
Konrad Beckmann
df701cd711 nes: DMA rework and suspend wakeup detection 2020-12-04 21:33:41 +01:00