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
Konrad Beckmann
79636bd7ec makefile: Add make dump_logs to dump callstack and logs 2021-08-04 11:57:59 +02:00
Konrad Beckmann
5e9d24ffa5 makefile: Print toolchain variables in help 2021-08-03 23:55:28 +02:00
Konrad Beckmann
399acf57f4 makefile: Print config variables in make help 2021-08-03 20:10:48 +02:00
Konrad Beckmann
bff9f57216 makefile: Reset device in reset_dbgmcu 2021-08-03 20:10:32 +02:00
Konrad Beckmann
ade7cb6fc5 New flash driver and integrated loader 2021-08-03 17:06:54 +02:00
Konrad Beckmann
a20c590b79 makefile: Add RESET_DBGMCU to control if debug should be disabled 2021-07-12 18:10:45 +02:00
Konrad Beckmann
2e0525565f makefile: Rename disable_debug_block to reset_dbgmcu 2021-07-12 18:10:31 +02:00
Konrad Beckmann
76b5680df0 makefile: Reset DBGMCU_CR after flashing
This will disable clocks from running when the device
is in standby after being flashed, increasing battery life.
2021-07-11 22:39:08 +02:00
Konrad Beckmann
1bfba9776e Move scripts to a separate directory 2021-07-11 22:07:31 +02:00
Konrad Beckmann
0c092ae9fc Add script to erase save slots 2021-07-11 12:20:18 +02:00
Brian Pugh
864c488c3e Initial attempt at deflate nes support 2021-07-08 20:06:43 +02:00
Brian Pugh
f2f754e81e remove lupng from the build 2021-07-08 20:06:43 +02:00
Brian Pugh
e39ede61a2 refactor parse_roms.py to use pathlib and be easily expandable for future compression algorithms 2021-07-07 08:36:21 +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
Konrad Beckmann
e3a0a06d13 Makefile: Allow gcc 11 2021-05-15 16:17:18 +02:00
Konrad Beckmann
c0ef062af7 Makefile: Check and verify installed tools
This will check for:
- gcc version 10
- objcopy elf32-littlearm
- objdump arm7e-m

Can be ignored by setting CHECK_TOOLS=0
2021-05-09 20:13:35 +02:00
Konrad Beckmann
fec69518c3 Makefile: Add COMPRESS variable to control if compression should be performed 2021-04-27 22:41:32 +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
Jan Dumon
ea18ae2f5f Use objcopy to convert roms to .o files
Converting the rom files to .c files with char arrays is very heavy on
the memory usage of the compiler. By converting them directly to .o
files this step is no longer needed.

The Makefile dependencies of generating the rom files has been fixed.
Parsing the rom files will now only happen once when -j is used.
2021-02-12 13:55:51 +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
804171b920 makefile: Add -fstack-usage -Wstack-usage=20480 2021-01-13 22:18:53 +01:00
Konrad Beckmann
7ce42520d6 Move headers to more sensible places 2021-01-12 23:49:30 +01:00
Konrad Beckmann
c6014e0bd9 retro-go: Update submodule (gb, nes fixes) and fixup 2021-01-11 12:10:05 +01:00
Franz Levin
bc61c642b1 battery: Added battery status 2021-01-11 02:30:22 +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
Jan Dumon
b656959c4d Integrate smsplusgx 2021-01-08 16:27:21 +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
1246574036 Revert "linux: Build with -O0"
This reverts commit ab682fbd9d.
2021-01-04 16:41:28 +01:00
Konrad Beckmann
ab682fbd9d linux: Build with -O0 2021-01-04 15:42:43 +01:00
Franz Levin
3e7e0d1361 makefile: update rom_manager.c 2021-01-04 14:01:28 +01:00
Konrad Beckmann
0d36bf2f86 make: Improve old submodule warning 2021-01-04 07:55:00 +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
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
7ee7001dce Make external flash size configurable 2020-12-30 16:07:28 +01:00
al3x10m
1b1f082ce8 use flashloader's interface config files 2020-12-30 14:55:02 +01:00
Konrad Beckmann
cf8e032921 makefile: Use /usr/bin/env 2020-12-30 14:11:20 +01:00
Konrad Beckmann
9e781c5d59 makefile: Run parse_roms.py from the makefile 2020-12-30 02:51:12 +01:00
Konrad Beckmann
2c8283aae9 Enable large flash when building with LARGE_FLASH=1 2020-12-29 19:30:56 +01:00
Konrad Beckmann
98954634b1 Fix warnings 2020-12-29 14:04:11 +01:00
Konrad Beckmann
fe85be396e makefile: Check for dirty submodules when building 2020-12-29 12:43:49 +01:00