mirror of
https://github.com/kbeckmann/game-and-watch-retro-go.git
synced 2025-12-17 19:16:02 +01:00
* 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 commit487606760c, reversing changes made tod9ab8c2870. * Revert "Revert "Merge remote-tracking branch 'upstream/main' into main"" This reverts commit6882de3955. * 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>
29 lines
670 B
Bash
Executable File
29 lines
670 B
Bash
Executable File
#!/bin/bash
|
|
|
|
if [[ $# -lt 1 ]]; then
|
|
echo "Usage: $0 <nes_rom.nes> [nes_rom.c]"
|
|
echo "This will convert the nes rom into a .c file and update all the references"
|
|
exit 1
|
|
fi
|
|
|
|
INFILE=$1
|
|
OUTFILE=loaded_nes_rom.c
|
|
|
|
if [[ ! -e "$(dirname $OUTFILE)" ]]; then
|
|
mkdir -p "$(dirname $OUTFILE)"
|
|
fi
|
|
|
|
if [[ $# -gt 1 ]]; then
|
|
OUTFILE=$2
|
|
fi
|
|
|
|
SIZE=$(wc -c "$INFILE" | awk '{print $1}')
|
|
|
|
echo "const unsigned char cart_rom[] __attribute__((section (\".extflash_game_rom\"))) = {" > $OUTFILE
|
|
xxd -i < "$INFILE" >> $OUTFILE
|
|
echo "};" >> $OUTFILE
|
|
echo "unsigned int ROM_DATA_LENGTH = $SIZE;" >> $OUTFILE
|
|
echo "unsigned int cart_rom_len = $SIZE;" >> $OUTFILE
|
|
|
|
echo "Done!"
|