508 Commits

Author SHA1 Message Date
Konrad Beckmann
a4a0602527 smsplusgx: Divide volume factor by 2 to prevent overflow in stereo mixing 2021-01-19 09:42:52 +01:00
Konrad Beckmann
6932a5f341 Improve audio volume calculation 2021-01-18 21:31:34 +01:00
trochr
0a6744b538 Added a hint for building on Mac 2021-01-18 10:08:59 +01:00
Konrad Beckmann
a047912570 main: Fix BSOD infinite loop 2021-01-16 01:25:49 +01:00
Konrad Beckmann
172b1079bc linux: Adapt gb emulator to new submodule 2021-01-16 00:50:10 +01:00
Konrad Beckmann
1f4dee743d linux: Adapt nes emulator to new submodule 2021-01-16 00:47:08 +01:00
Konrad Beckmann
d6f51d4b8a ci: Build the Dockerfile too 2021-01-15 00:35:45 +01:00
Konrad Beckmann
1670080694 makefile/ld: Improve internal flash programming
Two binaries generated:
- gw_retro_go_intflash.bin containing the internal flash, 0x08000000
- gw_retro_go_extflash.bin containing the external flash, 0x90000000

This enables us to use the openocd program command with "verify", as we force it to verify only the data at 0x08000000.

Previously, we would get warnings from openocd when programming the elf file (Warn : no flash bank found for address 0x90000000). These are now gone.

Makefile targets have been changed to be more clear:

- `make flash_intflash`: flashes the internal flash (0x08000000)
- `make flash_intflash_nc`: same as the above, but  uses nc to communicate with a running openocd session
- `make flash_extflash`: flashes the external flash (0x90000000)
- `make flash`: Flashes both of the above
- `make flash_all`: Alias to flash (kept for legacy reasons, so users can keep running their old commands)
2021-01-13 23:32:32 +01:00
Konrad Beckmann
4b9ebe5b40 ld: Add (NOLOAD) to appropriate sections 2021-01-13 23:03:41 +01:00
Konrad Beckmann
804171b920 makefile: Add -fstack-usage -Wstack-usage=20480 2021-01-13 22:18:53 +01:00
Konrad Beckmann
3e0a92ccb2 size.sh: Calculate MiB correctly 2021-01-13 09:17:32 +01:00
Konrad Beckmann
ea53a9c89e parse_roms: Write constant for roms_count 2021-01-13 06:24:43 +01:00
Konrad Beckmann
4567dfad9d retro-go: Fix warning 2021-01-12 23:52:11 +01:00
Konrad Beckmann
7ce42520d6 Move headers to more sensible places 2021-01-12 23:49:30 +01:00
Konrad Beckmann
a78703d51c Update submodule 2021-01-12 23:34:20 +01:00
Konrad Beckmann
13372bcac1 Cleanup scripts a bit 2021-01-12 23:32:13 +01:00
Konrad Beckmann
4843d965b9 github: Add auto assign 2021-01-12 19:21:26 +01:00
Jan Dumon
81e3822edf odroid_input: implement odroid_input_wait_for_key() 2021-01-12 09:52:54 +01:00
Konrad Beckmann
c6014e0bd9 retro-go: Update submodule (gb, nes fixes) and fixup 2021-01-11 12:10:05 +01:00
Konrad Beckmann
0d9d7605e7 nes: Update submodule and adjust integration 2021-01-11 11:22:26 +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
Franz Levin
51d5f4cac1 cubemx: Added pins, adc, timer, interrupts for fuel gauge 2021-01-11 02:30:22 +01:00
Chris Hughes
c93991c59b osx: Fix for save state scripts 2021-01-11 01:32:47 +01:00
Konrad Beckmann
62ceaefa87 Include gui in internal flash
This makes it possible to program only the internal flash without any roms loaded and get a menu that loads without crashing.
2021-01-09 23:14:51 +01:00
Konrad Beckmann
6698f89809 ci: Add placeholder roms for GG/SMS so it is built 2021-01-09 22:18:51 +01:00
Konrad Beckmann
efa8e37a8e linux: Add basic gb integration 2021-01-09 16:34:21 +01:00
Konrad Beckmann
72159e5b08 parse_roms: Write build/saveflash.ld if it's changed 2021-01-09 06:50:17 +01:00
Konrad Beckmann
6dfce45374 parse_roms: Write build/config.h if it's changed 2021-01-09 06:45:04 +01:00
Konrad Beckmann
3b50f7a1cd Generate emulator configuration based on roms
Closes #57
2021-01-09 06:35:26 +01:00
Konrad Beckmann
274399a4bd makefile: Remove unused targets 2021-01-09 06:10:56 +01:00
Konrad Beckmann
945f5d9de0 size: Include sms 2021-01-09 04:22:01 +01:00
Konrad Beckmann
4fc8552bf2 launcher: Show options with the pause/set button
Makes it more consistent with the in-game settings that uses the same button.
2021-01-08 23:41:24 +01:00
Nikolay Antsiferov
7edd9ed819 Update readme with Sega Master System and Game Gear, fix markdown linting 2021-01-08 21:46:31 +01:00
Konrad Beckmann
a9ef026ed3 Support backup of sms/gg save states 2021-01-08 17:23:05 +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
Konrad Beckmann
019c22e6e6 Update submodule (reduce warnings) 2021-01-08 15:17:51 +01:00
Jan Dumon
00e5d9a25c Added a watchdog to avoid power-cycles when things go wrong 2021-01-08 14:28:48 +01:00
Nick Piper
d5ae205d3e Make the list of roms have stable order so that we don't unnecessarily recompile rom_manager.c etc.
I found that compiling on one system, then rsync to a pi for flashing, the pi wanted to recompile since the `build/rom_files.txt` order varied since `find` returned the filenames in a different order. Adding a `sort` makes the order the same between filesystems so the pi no longer attempts an unnecessary recompile.
2021-01-08 02:38:08 +01:00
Konrad Beckmann
d353abbbd5 docker: Add libncurses5 (used by gdb) 2021-01-07 14:04:46 +01:00
Konrad Beckmann
534c192e90 size.sh/ld: Print nes/gb ram usage correctly 2021-01-07 12:58:53 +01:00
Konrad Beckmann
edef752123 Don't copy strings, reduces heap usage 2021-01-06 02:32:17 +01:00
Jan Dumon
47dc364af2 flash: align erase size with the address
Sub-block erases should be aligned with the size: e.g. 32kB erase should
only be done on 32kB boundaries, 64Kb erase should only be done on block
boundaries.
2021-01-05 15:44:14 +01:00
Konrad Beckmann
7d15919899 Add scripts for backing up and restoring save states 2021-01-05 08:19:07 +01:00
Jan Dumon
1878e9d66e Move heap to DTCMRAM
It should be faster and it makes room for the smsplusgx emulator.
2021-01-05 00:32:11 +01:00
Konrad Beckmann
debeffe721 update submodule 2021-01-04 17:31:08 +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