472 Commits

Author SHA1 Message Date
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
Konrad Beckmann
1246574036 Revert "linux: Build with -O0"
This reverts commit ab682fbd9d.
2021-01-04 16:41:28 +01:00
Konrad Beckmann
20565d7cb1 linux: Don't generate unused file 2021-01-04 16:41:18 +01:00
Konrad Beckmann
afe58c548c linux: Build with -Og -ggdb3 2021-01-04 16:41:01 +01:00
Konrad Beckmann
ab682fbd9d linux: Build with -O0 2021-01-04 15:42:43 +01:00
Konrad Beckmann
68031940af linux: Mark roms as const, helps to find emulator bugs 2021-01-04 15:39:35 +01:00
Konrad Beckmann
9ce955b16d linux: Fix emulator_framebuffer size 2021-01-04 15:07:51 +01:00
Konrad Beckmann
5d2d1b6b96 Update submodule 2021-01-04 14:08:56 +01:00
Raúl Mora
5ef7292aa5 GUI updated similar to the Famicom Classic Mini title selection screen 2021-01-04 14:02:45 +01:00
Franz Levin
3e7e0d1361 makefile: update rom_manager.c 2021-01-04 14:01:28 +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
116f14bf93 Revert "nes: Fix overdraw bug" 2021-01-04 08:18:36 +01:00
Konrad Beckmann
7f7e73735c ld/size.sh: Fix ITCMRAM size 2021-01-04 08:18:10 +01:00
Konrad Beckmann
ec4535d5db Fix the Linux nes emulator 2021-01-04 08:05:39 +01:00
Konrad Beckmann
45ca2456ac Fix overdraw bug 2021-01-04 08:04:39 +01:00
Konrad Beckmann
0d36bf2f86 make: Improve old submodule warning 2021-01-04 07:55:00 +01:00
Konrad Beckmann
54e8978a1f ld: Use correct RAM_UC length everywhere 2021-01-04 06:59:09 +01:00
Konrad Beckmann
58470a91b9 Only disable caching on fb ram 2021-01-04 06:35:25 +01:00
Konrad Beckmann
9830937d10 Simplify handling of updated files. 2021-01-04 03:33:14 +01:00
Franz Levin
f3669c57d4 makefile: only update rom list when needed 2021-01-03 23:55:54 +01:00
Konrad Beckmann
909d60f685 Move parse_roms.py artifacts into build/ 2021-01-03 16:30:31 +01:00
Konrad Beckmann
f91e20153b Add unaligned mempcy fix 2021-01-02 21:28:28 +01:00
Konrad Beckmann
014f7b5ccc readme: gcc >10.2.0 2021-01-02 19:40:01 +01:00
Konrad Beckmann
5ff3aa9ea6 size.sh: Human readable 2021-01-02 04:37:47 +01:00
Konrad Beckmann
db504ed905 main/flash: Use SPI_MODE
This will make the project work for everyone for now.
This should be revisited later.
2021-01-02 04:22:46 +01:00
Konrad Beckmann
e47f665d4c Improve parse_roms.py performance 2021-01-02 04:12:31 +01:00
Konrad Beckmann
5ecb6a4098 Add a Dockerfile 2021-01-02 01:38:47 +01:00
Konrad Beckmann
a2b9a1cb97 Rename build folder to build 2020-12-31 04:01:12 +01:00
Konrad Beckmann
70a21a2388 makefile: Suppress uninteresting stderr messages 2020-12-31 03:46:23 +01:00
Konrad Beckmann
1e463b560d makefile: Only run parse_roms.py when needed 2020-12-31 03:43:48 +01:00
Konrad Beckmann
5f155897c3 ci: Download a correct nes file 2020-12-30 16:22:59 +01:00
Konrad Beckmann
1737b1c35a ci: Fix filename for NES rom 2020-12-30 16:15:45 +01:00
Konrad Beckmann
7ee7001dce Make external flash size configurable 2020-12-30 16:07:28 +01:00
Konrad Beckmann
8bd9e266ea size: Use GCC_PATH to use the correct objdump 2020-12-30 15:15:47 +01:00
Konrad Beckmann
b9468939e0 readme: Add bash syntax hint 2020-12-30 15:00:48 +01:00
Konrad Beckmann
7bd78e5936 readme: Simplify building steps into a copy-pastable format 2020-12-30 14:55:23 +01:00