69 Commits

Author SHA1 Message Date
Konrad Beckmann
4f85678031 snes9x: Basic bringup on device 2021-08-07 19:59:26 +02:00
Konrad Beckmann
8a10e4c347 snes9x: Boilerplate integration 2021-08-04 21:31:54 +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
013083f827 have rom manager expose the rom extension 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
e4ec6ce857 Set TIM1 frequency to 1Hz and add an uptime counter 2021-07-03 00:23:51 +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
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
0459feb40a debug: Add more flash debug features 2021-06-17 12:22:46 +02:00
Konrad Beckmann
b250e5c555 Add debug menu to show flash jdec id 2021-06-17 10:30:58 +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
GaryZ88
3df1e0a0c0 Adding PC Engine (TurboGrafx-16) Emulation (#78)
Adding PC Engine (TurboGrafx-16) Emulation
2021-02-18 08:16:32 +01:00
Scorp0rX0r
0e2edb09d2 Fix LCD init and merge resume support 2021-02-07 16:36:09 +01:00
Jan Dumon
8b5dd9aca6 reduce memory usage of listbox_item_t
Instead of using a fixed-length buffer, the user of listbox_item_t is
responsible for the memory. Most of the items are titles of roms and
those are static.
2021-01-22 19:11:10 +01:00
Jan Dumon
39377661f8 parse_roms: generate a const struct of the roms
This avoids using malloc for the menu structure of the roms.
2021-01-21 17:26:34 +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
Franz Levin
bc61c642b1 battery: Added battery status 2021-01-11 02:30:22 +01:00
Franz Levin
58573dc296 cubemx: Generated new code 2021-01-11 02:30:22 +01:00
Jan Dumon
b656959c4d Integrate smsplusgx 2021-01-08 16:27:21 +01:00
Konrad Beckmann
d3bdb98781 Persist and show log after watchdog reset 2021-01-08 16:04:20 +01:00
Konrad Beckmann
9359d8b374 bsod: Encode fault in boot magic 2021-01-08 15:38:55 +01:00
Konrad Beckmann
c34d0e2cb8 Set boot_magic when watchdog expires 2021-01-08 15:32:41 +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
52c6150519 Increase emulator_framebuffer to correct size 2021-01-04 08:19:51 +01:00
Konrad Beckmann
5bf02cb429 Relocate emulator_framebuffer to .emulator_data 2021-01-04 08:19:02 +01:00
Konrad Beckmann
2c3c566437 Support 4K, 32K and 64K flash erase 2020-12-29 17:02:43 +01:00
Konrad Beckmann
c1efeecc23 Correctly specify the audio buffer size to handle 50/60 Hz 2020-12-29 03:05:15 +01:00
Konrad Beckmann
1d930d84a0 Default to 60 Hz 2020-12-28 21:58:08 +01:00
Konrad Beckmann
e4add4a4a4 nes: Support PAL and NTSC 2020-12-28 21:21:06 +01:00
Franz Levin
76b248e2a3 use dynamic array size 2020-12-28 15:38:15 +01:00
Konrad Beckmann
bd02b964fe Fix some additional warnings 2020-12-27 22:01:33 +01:00
Konrad Beckmann
09148a16f6 Fix rendering bug, support changing palettes 2020-12-27 16:34:33 +01:00
Konrad Beckmann
c4aba07673 disable profiling 2020-12-27 16:28:44 +01:00
Konrad Beckmann
c9904a37a3 Improve blit/scaling performance 2020-12-27 16:28:30 +01:00
Konrad Beckmann
bb19910ece Disable profiling 2020-12-27 16:24:49 +01:00
Konrad Beckmann
26b9c90c39 Optimize blitting 2020-12-27 16:24:40 +01:00
Konrad Beckmann
250d9c8253 Support deleting of saves 2020-12-27 16:22:03 +01:00
Konrad Beckmann
c01f51ff57 Finalize state save/load for gb and nes 2020-12-27 16:21:59 +01:00
Konrad Beckmann
179ba9bc6b Fix loading of nes roms 2020-12-27 16:20:44 +01:00
Thomas Roth
2b9430e946 Working NES and GB switching 2020-12-27 16:20:05 +01:00
Konrad Beckmann
4b3ab433f5 Backlight support using DAC 2020-12-27 16:19:57 +01:00
Konrad Beckmann
c539baff52 Add BSOD 2020-12-27 16:19:45 +01:00