From 529bfbd43ebb47172b8da33636b773990c4efadb Mon Sep 17 00:00:00 2001 From: Apaczer <94932128+Apaczer@users.noreply.github.com> Date: Sun, 30 Mar 2025 21:57:18 +0200 Subject: [PATCH] PKG/BOARD: update `libretro-pcsx_rearmed` & optimize (#160) * PKG: libretro-pcsx_rearmed: - update to f49a4c - new optimize patches (adjust core options) - use D/L submodules * BOARD: add musl PGO data for `libretro-pcsx_rearmed` * BOARD: update uclibc PGO data `lr-pcsx_rearmed` - and change from https to git site method - rm dubious sed cmd * PKG: lr-pcsx_rearmed: PATCH add Interlace mode --- .../.WARNING-UCLIBC-profiling | 0 .../libchdr/deps/lzma-19.00/src/Alloc.gcda | Bin 956 -> 0 bytes .../libchdr/deps/lzma-19.00/src/Bra86.gcda | Bin 196 -> 0 bytes .../libchdr/deps/lzma-19.00/src/BraIA64.gcda | Bin 140 -> 0 bytes .../libchdr/deps/lzma-19.00/src/Delta.gcda | Bin 292 -> 0 bytes .../libchdr/deps/lzma-19.00/src/LzFind.gcda | Bin 4952 -> 0 bytes .../deps/lzma-19.00/src/Lzma86Dec.gcda | Bin 200 -> 0 bytes .../libchdr/deps/lzma-19.00/src/LzmaEnc.gcda | Bin 2688 -> 0 bytes .../libchdr/deps/lzma-24.05/src/Alloc.gcda | Bin 0 -> 952 bytes .../libchdr/deps/lzma-24.05/src/CpuArch.gcda | Bin 0 -> 332 bytes .../libchdr/deps/lzma-24.05/src/Delta.gcda | Bin 0 -> 332 bytes .../libchdr/deps/lzma-24.05/src/LzFind.gcda | Bin 0 -> 6500 bytes .../libchdr/deps/lzma-24.05/src/LzmaDec.gcda | Bin 0 -> 3644 bytes .../libchdr/deps/lzma-24.05/src/LzmaEnc.gcda | Bin 0 -> 8736 bytes .../libchdr/deps/lzma-24.05}/src/Sort.gcda | Bin 360 -> 360 bytes .../libchdr/deps/zlib-1.2.13/adler32.gcda | Bin 428 -> 0 bytes .../libchdr/deps/zlib-1.2.13/compress.gcda | Bin 268 -> 0 bytes .../deps/libchdr/deps/zlib-1.2.13/crc32.gcda | Bin 724 -> 0 bytes .../deps/libchdr/deps/zlib-1.2.13/gzlib.gcda | Bin 1740 -> 0 bytes .../deps/libchdr/deps/zlib-1.2.13/gzread.gcda | Bin 2548 -> 0 bytes .../libchdr/deps/zlib-1.2.13/gzwrite.gcda | Bin 2364 -> 0 bytes .../libchdr/deps/zlib-1.2.13/inffast.gcda | Bin 356 -> 0 bytes .../libchdr/deps/zlib-1.2.13/inflate.gcda | Bin 5016 -> 0 bytes .../libchdr/deps/zlib-1.2.13/inftrees.gcda | Bin 348 -> 0 bytes .../deps/libchdr/deps/zlib-1.2.13/trees.gcda | Bin 2536 -> 0 bytes .../deps/libchdr/deps/zlib-1.2.13/zutil.gcda | Bin 292 -> 0 bytes .../deps/libchdr/deps/zlib-1.3.1/adler32.gcda | Bin 0 -> 436 bytes .../libchdr/deps/zlib-1.3.1/compress.gcda | Bin 0 -> 268 bytes .../deps/libchdr/deps/zlib-1.3.1/crc32.gcda | Bin 0 -> 732 bytes .../libchdr/deps/zlib-1.3.1}/deflate.gcda | Bin 7428 -> 7436 bytes .../{zlib-1.2.13 => zlib-1.3.1}/gzclose.gcda | Bin 116 -> 116 bytes .../deps/libchdr/deps/zlib-1.3.1/gzlib.gcda | Bin 0 -> 1752 bytes .../deps/libchdr/deps/zlib-1.3.1/gzread.gcda | Bin 0 -> 2580 bytes .../deps/libchdr/deps/zlib-1.3.1/gzwrite.gcda | Bin 0 -> 2372 bytes .../{zlib-1.2.13 => zlib-1.3.1}/infback.gcda | Bin 1924 -> 1924 bytes .../deps/libchdr/deps/zlib-1.3.1/inffast.gcda | Bin 0 -> 356 bytes .../deps/libchdr/deps/zlib-1.3.1/inflate.gcda | Bin 0 -> 5024 bytes .../libchdr/deps/zlib-1.3.1/inftrees.gcda | Bin 0 -> 348 bytes .../deps/libchdr/deps/zlib-1.3.1/trees.gcda | Bin 0 -> 2536 bytes .../{zlib-1.2.13 => zlib-1.3.1}/uncompr.gcda | Bin 264 -> 264 bytes .../deps/libchdr/deps/zlib-1.3.1/zutil.gcda | Bin 0 -> 300 bytes .../zstd-1.5.6/lib/common/entropy_common.gcda | Bin 0 -> 1648 bytes .../zstd-1.5.6/lib/common/error_private.gcda | Bin 0 -> 356 bytes .../zstd-1.5.6/lib/common/fse_decompress.gcda | Bin 0 -> 1328 bytes .../deps/zstd-1.5.6/lib/common/xxhash.gcda | Bin 0 -> 2172 bytes .../zstd-1.5.6/lib/common/zstd_common.gcda | Bin 0 -> 376 bytes .../lib/decompress/huf_decompress.gcda | Bin 0 -> 5600 bytes .../zstd-1.5.6/lib/decompress/zstd_ddict.gcda | Bin 0 -> 1644 bytes .../lib/decompress/zstd_decompress.gcda | Bin 0 -> 11940 bytes .../lib/decompress/zstd_decompress_block.gcda | Bin 0 -> 9368 bytes .../deps/libchdr/src/libchdr_bitstream.gcda | Bin 452 -> 460 bytes .../deps/libchdr/src/libchdr_cdrom.gcda | Bin 376 -> 0 bytes .../deps/libchdr/src/libchdr_chd.gcda | Bin 10812 -> 12264 bytes .../deps/libchdr/src/libchdr_flac.gcda | Bin 23584 -> 23288 bytes .../deps/libchdr/src/libchdr_huffman.gcda | Bin 1536 -> 1600 bytes .../libretro-common/compat/compat_strl.gcda | Bin 0 -> 200 bytes .../features/features_cpu.gcda | Bin 0 -> 576 bytes .../deps/libretro-common/file/file_path.gcda | Bin 0 -> 3672 bytes .../libretro-common/lists/string_list.gcda | Bin 0 -> 2224 bytes .../deps/libretro-common/memmap/memalign.gcda | Bin 0 -> 212 bytes .../libretro-common/string/stdstring.gcda | Bin 0 -> 2516 bytes .../vfs/vfs_implementation.gcda | Bin 0 -> 2140 bytes .../vfs/vfs_implementation_cdrom.gcda | Bin 0 -> 1268 bytes .../frontend/cspace.gcda | Bin 444 -> 444 bytes .../frontend/libretro-cdrom.gcda | Bin 0 -> 4604 bytes .../frontend/libretro-rthreads.gcda | Bin 0 -> 1676 bytes .../frontend/libretro.gcda | Bin 18036 -> 18888 bytes .../libretro-pcsx_rearmed/frontend/main.gcda | Bin 3404 -> 2956 bytes .../frontend/plugin.gcda | Bin 1940 -> 784 bytes .../libpcsxcore/cdriso.gcda | Bin 7328 -> 7028 bytes .../libpcsxcore/cdrom-async.gcda | Bin 0 -> 3812 bytes .../libpcsxcore/cdrom.gcda | Bin 6256 -> 5336 bytes .../libpcsxcore/cheat.gcda | Bin 4124 -> 4124 bytes .../libpcsxcore/database.gcda | Bin 448 -> 472 bytes .../libpcsxcore/decode_xa.gcda | Bin 636 -> 652 bytes .../libpcsxcore/gpu.gcda | Bin 108 -> 108 bytes .../libpcsxcore/gte.gcda | Bin 6188 -> 6128 bytes .../libpcsxcore/gte_divider.gcda | Bin 92 -> 92 bytes .../libpcsxcore/gte_nf.gcda | Bin 1948 -> 1948 bytes .../libpcsxcore/mdec.gcda | Bin 3276 -> 2968 bytes .../libpcsxcore/misc.gcda | Bin 7404 -> 6608 bytes .../libpcsxcore/new_dynarec/emu_if.gcda | Bin 1332 -> 2992 bytes .../libpcsxcore/new_dynarec/new_dynarec.gcda | Bin 49120 -> 50652 bytes .../libpcsxcore/new_dynarec/pcsxmem.gcda | Bin 5152 -> 5000 bytes .../libpcsxcore/plugins.gcda | Bin 8384 -> 7192 bytes .../libpcsxcore/ppf.gcda | Bin 1708 -> 1620 bytes .../libpcsxcore/psxbios.gcda | Bin 25560 -> 25504 bytes .../libpcsxcore/psxcommon.gcda | Bin 388 -> 388 bytes .../libpcsxcore/psxcounters.gcda | Bin 2684 -> 2848 bytes .../libpcsxcore/psxdma.gcda | Bin 1096 -> 1172 bytes .../libpcsxcore/psxevents.gcda | Bin 460 -> 460 bytes .../libpcsxcore/psxhw.gcda | Bin 3292 -> 3684 bytes .../libpcsxcore/psxinterpreter.gcda | Bin 14632 -> 14748 bytes .../libpcsxcore/psxmem.gcda | Bin 2180 -> 2060 bytes .../libpcsxcore/r3000a.gcda | Bin 1308 -> 1456 bytes .../libpcsxcore/sio.gcda | Bin 6672 -> 4464 bytes .../libpcsxcore/spu.gcda | Bin 328 -> 328 bytes .../plugins/cdrcimg/cdrcimg.gcda | Bin 2136 -> 0 bytes .../plugins/dfsound/dma.gcda | Bin 352 -> 352 bytes .../plugins/dfsound/freeze.gcda | Bin 996 -> 1036 bytes .../plugins/dfsound/nullsnd.gcda | Bin 292 -> 292 bytes .../plugins/dfsound/out.gcda | Bin 172 -> 172 bytes .../plugins/dfsound/registers.gcda | Bin 1476 -> 1476 bytes .../plugins/dfsound/spu.gcda | Bin 9912 -> 10100 bytes .../plugins/gpu_unai/gpulib_if.gcda | Bin 0 -> 150840 bytes .../plugins/gpu_unai/old/if.gcda | Bin 0 -> 58496 bytes .../plugins/gpu_unai_old/gpulib_if.gcda | Bin 59096 -> 0 bytes .../plugins/gpulib/gpu.gcda | Bin 4984 -> 5196 bytes .../plugins/gpulib/gpulib_thread_if.gcda | Bin 2560 -> 2560 bytes .../plugins/gpulib/prim.gcda | Bin 0 -> 732 bytes .../plugins/gpulib/vout_pl.gcda | Bin 1000 -> 1000 bytes .../libchdr/deps/lzma-19.00/src/Alloc.gcda | Bin 956 -> 0 bytes .../libchdr/deps/lzma-19.00/src/Bra86.gcda | Bin 196 -> 0 bytes .../libchdr/deps/lzma-19.00/src/BraIA64.gcda | Bin 140 -> 0 bytes .../libchdr/deps/lzma-19.00/src/Delta.gcda | Bin 292 -> 0 bytes .../libchdr/deps/lzma-19.00/src/LzFind.gcda | Bin 4952 -> 0 bytes .../deps/lzma-19.00/src/Lzma86Dec.gcda | Bin 200 -> 0 bytes .../libchdr/deps/lzma-19.00/src/LzmaDec.gcda | Bin 3692 -> 0 bytes .../libchdr/deps/lzma-19.00/src/LzmaEnc.gcda | Bin 2688 -> 0 bytes .../libchdr/deps/lzma-24.05/src/Alloc.gcda | Bin 0 -> 904 bytes .../libchdr/deps/lzma-24.05/src/CpuArch.gcda | Bin 0 -> 292 bytes .../libchdr/deps/lzma-24.05/src/Delta.gcda | Bin 0 -> 332 bytes .../libchdr/deps/lzma-24.05/src/LzFind.gcda | Bin 0 -> 6572 bytes .../libchdr/deps/lzma-24.05}/src/LzmaDec.gcda | Bin 3692 -> 3724 bytes .../libchdr/deps/lzma-24.05/src/LzmaEnc.gcda | Bin 0 -> 8728 bytes .../libchdr/deps/lzma-24.05}/src/Sort.gcda | Bin 360 -> 360 bytes .../libchdr/deps/zlib-1.2.13/adler32.gcda | Bin 428 -> 0 bytes .../libchdr/deps/zlib-1.2.13/compress.gcda | Bin 268 -> 0 bytes .../deps/libchdr/deps/zlib-1.2.13/crc32.gcda | Bin 724 -> 0 bytes .../deps/libchdr/deps/zlib-1.2.13/gzlib.gcda | Bin 1740 -> 0 bytes .../deps/libchdr/deps/zlib-1.2.13/gzread.gcda | Bin 2548 -> 0 bytes .../libchdr/deps/zlib-1.2.13/gzwrite.gcda | Bin 2364 -> 0 bytes .../libchdr/deps/zlib-1.2.13/inffast.gcda | Bin 356 -> 0 bytes .../libchdr/deps/zlib-1.2.13/inflate.gcda | Bin 5016 -> 0 bytes .../libchdr/deps/zlib-1.2.13/inftrees.gcda | Bin 348 -> 0 bytes .../deps/libchdr/deps/zlib-1.2.13/trees.gcda | Bin 2536 -> 0 bytes .../deps/libchdr/deps/zlib-1.2.13/zutil.gcda | Bin 292 -> 0 bytes .../deps/libchdr/deps/zlib-1.3.1/adler32.gcda | Bin 0 -> 428 bytes .../libchdr/deps/zlib-1.3.1/compress.gcda | Bin 0 -> 268 bytes .../deps/libchdr/deps/zlib-1.3.1/crc32.gcda | Bin 0 -> 724 bytes .../libchdr/deps/zlib-1.3.1}/deflate.gcda | Bin 7428 -> 7436 bytes .../{zlib-1.2.13 => zlib-1.3.1}/gzclose.gcda | Bin 116 -> 116 bytes .../deps/libchdr/deps/zlib-1.3.1/gzlib.gcda | Bin 0 -> 1768 bytes .../deps/libchdr/deps/zlib-1.3.1/gzread.gcda | Bin 0 -> 2580 bytes .../deps/libchdr/deps/zlib-1.3.1/gzwrite.gcda | Bin 0 -> 2372 bytes .../{zlib-1.2.13 => zlib-1.3.1}/infback.gcda | Bin 1924 -> 1924 bytes .../deps/libchdr/deps/zlib-1.3.1/inffast.gcda | Bin 0 -> 356 bytes .../deps/libchdr/deps/zlib-1.3.1/inflate.gcda | Bin 0 -> 5024 bytes .../libchdr/deps/zlib-1.3.1/inftrees.gcda | Bin 0 -> 348 bytes .../deps/libchdr/deps/zlib-1.3.1/trees.gcda | Bin 0 -> 2536 bytes .../{zlib-1.2.13 => zlib-1.3.1}/uncompr.gcda | Bin 264 -> 264 bytes .../deps/libchdr/deps/zlib-1.3.1/zutil.gcda | Bin 0 -> 300 bytes .../zstd-1.5.6/lib/common/entropy_common.gcda | Bin 0 -> 1648 bytes .../zstd-1.5.6/lib/common/error_private.gcda | Bin 0 -> 92 bytes .../zstd-1.5.6/lib/common/fse_decompress.gcda | Bin 0 -> 1328 bytes .../deps/zstd-1.5.6/lib/common/xxhash.gcda | Bin 0 -> 2340 bytes .../zstd-1.5.6/lib/common/zstd_common.gcda | Bin 0 -> 376 bytes .../lib/decompress/huf_decompress.gcda | Bin 0 -> 5648 bytes .../zstd-1.5.6/lib/decompress/zstd_ddict.gcda | Bin 0 -> 1644 bytes .../lib/decompress/zstd_decompress.gcda | Bin 0 -> 11940 bytes .../lib/decompress/zstd_decompress_block.gcda | Bin 0 -> 9376 bytes .../deps/libchdr/src/libchdr_bitstream.gcda | Bin 452 -> 452 bytes .../deps/libchdr/src/libchdr_cdrom.gcda | Bin 376 -> 0 bytes .../deps/libchdr/src/libchdr_chd.gcda | Bin 10812 -> 12048 bytes .../deps/libchdr/src/libchdr_flac.gcda | Bin 23584 -> 23584 bytes .../deps/libchdr/src/libchdr_huffman.gcda | Bin 1536 -> 1600 bytes .../libretro-common/compat/compat_strl.gcda | Bin 0 -> 200 bytes .../features/features_cpu.gcda | Bin 0 -> 560 bytes .../deps/libretro-common/file/file_path.gcda | Bin 0 -> 3736 bytes .../libretro-common/lists/string_list.gcda | Bin 0 -> 2232 bytes .../deps/libretro-common/memmap/memalign.gcda | Bin 0 -> 212 bytes .../libretro-common/string/stdstring.gcda | Bin 0 -> 2516 bytes .../vfs/vfs_implementation.gcda | Bin 0 -> 2132 bytes .../vfs/vfs_implementation_cdrom.gcda | Bin 0 -> 1268 bytes .../frontend/cspace.gcda | Bin 444 -> 444 bytes .../frontend/libretro-cdrom.gcda | Bin 0 -> 4240 bytes .../frontend/libretro-rthreads.gcda | Bin 0 -> 1692 bytes .../frontend/libretro.gcda | Bin 18036 -> 18768 bytes .../libretro-pcsx_rearmed/frontend/main.gcda | Bin 3404 -> 2956 bytes .../frontend/plugin.gcda | Bin 1940 -> 784 bytes .../libpcsxcore/cdriso.gcda | Bin 7328 -> 7148 bytes .../libpcsxcore/cdrom-async.gcda | Bin 0 -> 3812 bytes .../libpcsxcore/cdrom.gcda | Bin 6256 -> 5336 bytes .../libpcsxcore/cheat.gcda | Bin 4124 -> 4124 bytes .../libpcsxcore/database.gcda | Bin 448 -> 464 bytes .../libpcsxcore/decode_xa.gcda | Bin 636 -> 636 bytes .../libpcsxcore/gpu.gcda | Bin 108 -> 108 bytes .../libpcsxcore/gte.gcda | Bin 6188 -> 6128 bytes .../libpcsxcore/gte_divider.gcda | Bin 92 -> 92 bytes .../libpcsxcore/gte_nf.gcda | Bin 1948 -> 1948 bytes .../libpcsxcore/mdec.gcda | Bin 3276 -> 2968 bytes .../libpcsxcore/misc.gcda | Bin 7404 -> 6608 bytes .../libpcsxcore/new_dynarec/emu_if.gcda | Bin 1332 -> 2992 bytes .../libpcsxcore/new_dynarec/new_dynarec.gcda | Bin 49120 -> 50620 bytes .../libpcsxcore/new_dynarec/pcsxmem.gcda | Bin 5152 -> 5000 bytes .../libpcsxcore/plugins.gcda | Bin 8384 -> 7192 bytes .../libpcsxcore/ppf.gcda | Bin 1708 -> 1716 bytes .../libpcsxcore/psxbios.gcda | Bin 25560 -> 25528 bytes .../libpcsxcore/psxcommon.gcda | Bin 388 -> 388 bytes .../libpcsxcore/psxcounters.gcda | Bin 2684 -> 2848 bytes .../libpcsxcore/psxdma.gcda | Bin 1096 -> 1172 bytes .../libpcsxcore/psxevents.gcda | Bin 460 -> 476 bytes .../libpcsxcore/psxhw.gcda | Bin 3292 -> 3676 bytes .../libpcsxcore/psxinterpreter.gcda | Bin 14632 -> 14748 bytes .../libpcsxcore/psxmem.gcda | Bin 2180 -> 2180 bytes .../libpcsxcore/r3000a.gcda | Bin 1308 -> 1448 bytes .../libpcsxcore/sio.gcda | Bin 6672 -> 6672 bytes .../libpcsxcore/spu.gcda | Bin 328 -> 328 bytes .../plugins/cdrcimg/cdrcimg.gcda | Bin 2136 -> 0 bytes .../plugins/dfsound/dma.gcda | Bin 352 -> 352 bytes .../plugins/dfsound/freeze.gcda | Bin 996 -> 1036 bytes .../plugins/dfsound/nullsnd.gcda | Bin 292 -> 292 bytes .../plugins/dfsound/out.gcda | Bin 172 -> 172 bytes .../plugins/dfsound/registers.gcda | Bin 1476 -> 1476 bytes .../plugins/dfsound/spu.gcda | Bin 9912 -> 10124 bytes .../plugins/gpu_unai/gpulib_if.gcda | Bin 0 -> 150832 bytes .../plugins/gpu_unai/old/if.gcda | Bin 0 -> 58496 bytes .../plugins/gpu_unai_old/gpulib_if.gcda | Bin 59096 -> 0 bytes .../plugins/gpulib/gpu.gcda | Bin 4984 -> 5196 bytes .../plugins/gpulib/gpulib_thread_if.gcda | Bin 2560 -> 2560 bytes .../plugins/gpulib/prim.gcda | Bin 0 -> 732 bytes .../plugins/gpulib/vout_pl.gcda | Bin 1000 -> 1000 bytes ...le.libretro-add-MIYOO-optimize-flags.patch | 55 + .../0001-use-unai-old-gpu.patch | 4912 ----------------- .../0002-LIBRETRO-update-core_options.patch | 100 + .../0002-optimize-flags.patch | 44 - ...O-add-Interlace-mode-to-UNAI-options.patch | 68 + .../libretro-pcsx_rearmed.hash | 2 +- .../libretro-pcsx_rearmed.mk | 9 +- 229 files changed, 229 insertions(+), 4961 deletions(-) delete mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/.WARNING-UCLIBC-profiling delete mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-19.00/src/Alloc.gcda delete mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-19.00/src/Bra86.gcda delete mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-19.00/src/BraIA64.gcda delete mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-19.00/src/Delta.gcda delete mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-19.00/src/LzFind.gcda delete mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-19.00/src/Lzma86Dec.gcda delete mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-19.00/src/LzmaEnc.gcda create mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-24.05/src/Alloc.gcda create mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-24.05/src/CpuArch.gcda create mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-24.05/src/Delta.gcda create mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-24.05/src/LzFind.gcda create mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-24.05/src/LzmaDec.gcda create mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-24.05/src/LzmaEnc.gcda rename board/miyoo/profile/{uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-19.00 => musl/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-24.05}/src/Sort.gcda (64%) delete mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13/adler32.gcda delete mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13/compress.gcda delete mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13/crc32.gcda delete mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13/gzlib.gcda delete mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13/gzread.gcda delete mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13/gzwrite.gcda delete mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13/inffast.gcda delete mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13/inflate.gcda delete mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13/inftrees.gcda delete mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13/trees.gcda delete mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13/zutil.gcda create mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.3.1/adler32.gcda create mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.3.1/compress.gcda create mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.3.1/crc32.gcda rename board/miyoo/profile/{uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13 => musl/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.3.1}/deflate.gcda (54%) rename board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/{zlib-1.2.13 => zlib-1.3.1}/gzclose.gcda (54%) create mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.3.1/gzlib.gcda create mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.3.1/gzread.gcda create mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.3.1/gzwrite.gcda rename board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/{zlib-1.2.13 => zlib-1.3.1}/infback.gcda (87%) create mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.3.1/inffast.gcda create mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.3.1/inflate.gcda create mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.3.1/inftrees.gcda create mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.3.1/trees.gcda rename board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/{zlib-1.2.13 => zlib-1.3.1}/uncompr.gcda (51%) create mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.3.1/zutil.gcda create mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zstd-1.5.6/lib/common/entropy_common.gcda create mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zstd-1.5.6/lib/common/error_private.gcda create mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zstd-1.5.6/lib/common/fse_decompress.gcda create mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zstd-1.5.6/lib/common/xxhash.gcda create mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zstd-1.5.6/lib/common/zstd_common.gcda create mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zstd-1.5.6/lib/decompress/huf_decompress.gcda create mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zstd-1.5.6/lib/decompress/zstd_ddict.gcda create mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zstd-1.5.6/lib/decompress/zstd_decompress.gcda create mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zstd-1.5.6/lib/decompress/zstd_decompress_block.gcda delete mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/src/libchdr_cdrom.gcda create mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libretro-common/compat/compat_strl.gcda create mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libretro-common/features/features_cpu.gcda create mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libretro-common/file/file_path.gcda create mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libretro-common/lists/string_list.gcda create mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libretro-common/memmap/memalign.gcda create mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libretro-common/string/stdstring.gcda create mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libretro-common/vfs/vfs_implementation.gcda create mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libretro-common/vfs/vfs_implementation_cdrom.gcda create mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/frontend/libretro-cdrom.gcda create mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/frontend/libretro-rthreads.gcda create mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/libpcsxcore/cdrom-async.gcda delete mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/plugins/cdrcimg/cdrcimg.gcda create mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/plugins/gpu_unai/gpulib_if.gcda create mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/plugins/gpu_unai/old/if.gcda delete mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/plugins/gpu_unai_old/gpulib_if.gcda create mode 100644 board/miyoo/profile/musl/libretro-pcsx_rearmed/plugins/gpulib/prim.gcda delete mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-19.00/src/Alloc.gcda delete mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-19.00/src/Bra86.gcda delete mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-19.00/src/BraIA64.gcda delete mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-19.00/src/Delta.gcda delete mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-19.00/src/LzFind.gcda delete mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-19.00/src/Lzma86Dec.gcda delete mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-19.00/src/LzmaDec.gcda delete mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-19.00/src/LzmaEnc.gcda create mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-24.05/src/Alloc.gcda create mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-24.05/src/CpuArch.gcda create mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-24.05/src/Delta.gcda create mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-24.05/src/LzFind.gcda rename board/miyoo/profile/{musl/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-19.00 => uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-24.05}/src/LzmaDec.gcda (60%) create mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-24.05/src/LzmaEnc.gcda rename board/miyoo/profile/{musl/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-19.00 => uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-24.05}/src/Sort.gcda (64%) delete mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13/adler32.gcda delete mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13/compress.gcda delete mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13/crc32.gcda delete mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13/gzlib.gcda delete mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13/gzread.gcda delete mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13/gzwrite.gcda delete mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13/inffast.gcda delete mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13/inflate.gcda delete mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13/inftrees.gcda delete mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13/trees.gcda delete mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13/zutil.gcda create mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.3.1/adler32.gcda create mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.3.1/compress.gcda create mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.3.1/crc32.gcda rename board/miyoo/profile/{musl/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13 => uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.3.1}/deflate.gcda (54%) rename board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/{zlib-1.2.13 => zlib-1.3.1}/gzclose.gcda (54%) create mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.3.1/gzlib.gcda create mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.3.1/gzread.gcda create mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.3.1/gzwrite.gcda rename board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/{zlib-1.2.13 => zlib-1.3.1}/infback.gcda (87%) create mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.3.1/inffast.gcda create mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.3.1/inflate.gcda create mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.3.1/inftrees.gcda create mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.3.1/trees.gcda rename board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/{zlib-1.2.13 => zlib-1.3.1}/uncompr.gcda (51%) create mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.3.1/zutil.gcda create mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zstd-1.5.6/lib/common/entropy_common.gcda create mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zstd-1.5.6/lib/common/error_private.gcda create mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zstd-1.5.6/lib/common/fse_decompress.gcda create mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zstd-1.5.6/lib/common/xxhash.gcda create mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zstd-1.5.6/lib/common/zstd_common.gcda create mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zstd-1.5.6/lib/decompress/huf_decompress.gcda create mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zstd-1.5.6/lib/decompress/zstd_ddict.gcda create mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zstd-1.5.6/lib/decompress/zstd_decompress.gcda create mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zstd-1.5.6/lib/decompress/zstd_decompress_block.gcda delete mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/src/libchdr_cdrom.gcda create mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libretro-common/compat/compat_strl.gcda create mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libretro-common/features/features_cpu.gcda create mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libretro-common/file/file_path.gcda create mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libretro-common/lists/string_list.gcda create mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libretro-common/memmap/memalign.gcda create mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libretro-common/string/stdstring.gcda create mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libretro-common/vfs/vfs_implementation.gcda create mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libretro-common/vfs/vfs_implementation_cdrom.gcda create mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/frontend/libretro-cdrom.gcda create mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/frontend/libretro-rthreads.gcda create mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/libpcsxcore/cdrom-async.gcda delete mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/plugins/cdrcimg/cdrcimg.gcda create mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/plugins/gpu_unai/gpulib_if.gcda create mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/plugins/gpu_unai/old/if.gcda delete mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/plugins/gpu_unai_old/gpulib_if.gcda create mode 100644 board/miyoo/profile/uclibc/libretro-pcsx_rearmed/plugins/gpulib/prim.gcda create mode 100644 package/miyoo/retroarch/libretro-pcsx_rearmed/0001-Makefile.libretro-add-MIYOO-optimize-flags.patch delete mode 100644 package/miyoo/retroarch/libretro-pcsx_rearmed/0001-use-unai-old-gpu.patch create mode 100644 package/miyoo/retroarch/libretro-pcsx_rearmed/0002-LIBRETRO-update-core_options.patch delete mode 100644 package/miyoo/retroarch/libretro-pcsx_rearmed/0002-optimize-flags.patch create mode 100644 package/miyoo/retroarch/libretro-pcsx_rearmed/0003-LIBERTRO-add-Interlace-mode-to-UNAI-options.patch diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/.WARNING-UCLIBC-profiling b/board/miyoo/profile/musl/libretro-pcsx_rearmed/.WARNING-UCLIBC-profiling deleted file mode 100644 index e69de29b..00000000 diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-19.00/src/Alloc.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-19.00/src/Alloc.gcda deleted file mode 100644 index 5c855b70ab5a99698840fed44c169cc211c83a20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 956 zcmYdHNlw=?v2=WNJK2hXfngyN0|Nsq0|NuISPMG?0|O&70|Ubz!>uu&XZ^XmquF2y z1H(c_kQxR!Sjh-su16Dx=zXkGVt*r#dx6sun--8>Hi%*zywKr<@whz SFf3#gV4wzA&j_*$*(3lI4-5bR diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-19.00/src/Delta.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-19.00/src/Delta.gcda deleted file mode 100644 index b4a94796e2afbf1a38de8dc116c5e9d721f963fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 292 zcmYdHNlw=?v2<*@lWfJnz_5^sfq{XQfq{Wptc9I{fq{{kfq_9r{b173f@P2YRIn*9 zFf3%`W1s}AX9U@SWCGX@SL1b&Tj$?SrllPRm!@d#t!nq29R6wt$R8|7jzBOm+{XX_ DZg3mN diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-19.00/src/LzFind.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-19.00/src/LzFind.gcda deleted file mode 100644 index 3a8ec4d63b959f12edb5b613afc3b9ec15461ab1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4952 zcmYdHNlw=?v2@&YC)tXDfngyN0|Nsq0|NuISPMG?0|O&70|UbgHyhow{GBnMqN@BE z7#1>eFc1TlGeT6Ygwm^_^javro)KghL=Bh(+vTPFq{O#u;i{!2pG-k^@qndBCCIb8 zciAmPSHZgp17UY?RIEk(@!OZ)pOp;<`J0baFQcd@&;Orm{{;9kaag%0PPqtNrBp?d|?MsR;}F*6DJ#90d7I2CLb$79`K@ zsiF6jCz-C%8i;hh<9CUX)}N{J17UYyj)T|TJ(rxFme{m_;*1S%^pF>}Ydu{!JzhAv zM92SM2(m*6uN|aHlINzQBH1n*(tmS(+0n=Xa+3t9){>>3Jh!Tyov;1t#gx-eTqoCo z+$unp-RPRgb4v!3JoBC#9ns&lZGs2dElkH{g>7YitM6nK;0C#c7HQX`Vh2mpd&5Vx zwBt?35kbwC@<(NFELVg4LCbdS%a{u)7JDKO>V%$ILuFbdfb3#H zPl8}RdFk+U^C9hR!h*`QFq=F!D9%XDL*%t8<|6ziBI9UnIy5 zE|QWfA`L*a5$CVp(*LFJDyJP;d1Es($WBtjoD{o)?#OBuwu;a1US7B!WEVBd65cKy z^+k=7&g^J5SOPK|bv$4>BmVe8j4NPw(^|Cg1?=Mu*QQw+)K6Pd|LD!~8ju@AAb~?= z5)se%{X|^+i#e>d|E4SBh%4M6jz@$KgpYsRWy=#1ob>k+1!bB6yFsA=Yv dit8D9|9#ur#d^{~@kL(wfrtJ rz_5^!kAV`fo)KgRk_lit9M@`al;~s?=6m+t0olQZqyUqNVFm*Lr$`iT diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-19.00/src/LzmaEnc.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-19.00/src/LzmaEnc.gcda deleted file mode 100644 index 295c604811dfbd5ee19d1da879b73d722f8b0491..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2688 zcmYdHNlw=?v2=WKC)tXDfngyN0|Nsq0|NuISPMG?0|O&70|UdX_)Wt4I(~5#tIzIX zU|7f~z(5VKoDpKmN+`V=O0R{|>ls0Afv5qKV7CYg*Vd)44{x^HwEFE z8@dz|H9o@<5&pJ?%XEA~&!>e6Hqtm)CkAfAXNXn^+Da93VP~^RJV*yv4rR zA7y7Ir8R@>mV#)e6G@(%tKFwpWE5?czBOmdXONrm$2-Cf{OX7cubs?=?)jb(g&iH0 zFF|&5krYx0w+NA>kC0;G+&=ZYpx?oB5(YL1t6SpZMb+QQu(q%UZO02YWqa zGbfk#-zNDkT7=8=SSE(VucxOB!Zb_omj%EXJI!CQ@$xFXR z!oTW1E!lK@m4%rt$o(P^2T_?M&uzaX+PpsBj+;tsT@GnA&3-I_}2g#iGwU&)jJ diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-24.05/src/Alloc.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-24.05/src/Alloc.gcda new file mode 100644 index 0000000000000000000000000000000000000000..54546d1be07409e32c74fea0f6d45ad49340be5e GIT binary patch literal 952 zcmYdHNlw=?v2@(en>m|-fngyN0|Nsi0|SGT8HYHC$;`mOu*Yy~Ol&w`=8k5AB@7G; z89{0o;9w<4IRgX3dNgqcMv&gZoOa*YLVsPIme{m_^s>SAVPmXh#4nHC4#CI!?K$NQ z{WIrJVFua3h0SQ3V&vJWAfgf*bZ$u?vHpTskKO%=nb!iI%Kpu@+qC-t$o(u3#b_k{ zaNZbx-N4?LXBsu!vpsQU!g9VY0nWT6L6Cbm&|HF@i{E|QAMUBS$*5OIi66~E4~EQG zJpTtJW?VQWX)eY+M@(An^hc22@TWKYe%kUvLS=u!(*OVf literal 0 HcmV?d00001 diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-24.05/src/CpuArch.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-24.05/src/CpuArch.gcda new file mode 100644 index 0000000000000000000000000000000000000000..ab6098d3fde011a42513dd8b9a0260645133615d GIT binary patch literal 332 zcmYdHNlw=?v2--%%bd-?z_5^sfq{XMfq}uvj6)p6WM*JsD5_Y(c`&{Hr`@LA2N)O@ zGO{pW1M3+6TNPKrx*GU$kF>z!H@0t LSA~rv>SX``IZ-S~ literal 0 HcmV?d00001 diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-24.05/src/Delta.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-24.05/src/Delta.gcda new file mode 100644 index 0000000000000000000000000000000000000000..c9908fcdabd39943ee2cd6ab10dabe14573356ee GIT binary patch literal 332 zcmYdHNlw=?v2-lv%bd-?z_5^sfq{XMfq}uvj6)p6WM*JskWoLFw57i#Yh8I!F9X9u zMgazDfc102PX`H%vebS8QJ z7eCpeQ+9cS*Fd^~MQDlj#9xAq1L=m7rp%^EIbTk`KPwwPP;qhVowAag?G?#^bVJq2 zCa-A%4wDDc4G;Q~g%)erl?|jDGKCh!PB7fWHjr-EB6g)h^vb!!bC=&&gVLlF>4gFX zI>;+eZ2g{;vYjvFnWb@j3dqeS6u4mUY9%jhGPrz{tiMm+bDT-03=}p-gV%#(xQx6o z5&hvKD(~E|p+Lzg2NWg_WY|3Xw2&8;4tt(B6|NRDJ!t>e0~D5a!!KY+@DX`o7*kV| z(DC^hcaM|XD^M7YmS5l?2ed+kACLP-nd^C6gDbgsli5&7w?=FSIn)?8wLzV zzj*}R5dOLjq&1f>Qh}0fcyb-I>-^YF(Qm1 zYOwnUA_peH{^9M?QP1BN&5djP78I{w)mRC{I5qaNd@b5|HTLoALi<*6@vehzkKQb= z0r^)1t6h`|BEkp1pNI>$Dnn;xrMr%oaD^MhwTSS6@bQo1uf5Z5JM~-Z9cr4XXcipu e@%VqI2QNY|fx;G){~&H5g+zoMdHM;4DFXnWX_=+~ literal 0 HcmV?d00001 diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-24.05/src/LzmaDec.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-24.05/src/LzmaDec.gcda new file mode 100644 index 0000000000000000000000000000000000000000..ce3873090c990772cf79440a2d68f7c8e50a8c5e GIT binary patch literal 3644 zcmYdHNlw=?v2^^#mpPk(fngyN0|Nsi0|SGT8HYHC$;`mOVBESrWzr_C9|>9ouNfE? zGV*{V7_bA7USt^re>s%7l97#pfkE@Cz8^>(R1j<@h|j>V8Y;9FO0Q=GxoHtZ5=1hB z-1Plab;jagvGvP~iuFKl5(3Fk4I|tNF%r9*AaY<5?54Bpwz9B4DqiU@Q~5r~O;SkV z1oaG(Kf(G4@*%1qaROq)%mJ}cF~ZHD_&LAfp)yDwrXEI<8tw}~hCndbk58u5M7sQY zaOKxR_OBp6azW&XBoS_eXdo_JgPE0eR4i1*m)>y~1K9~mKM?&066QY!2IA~kh@=&i zo&;m&7rt6*yz|zaEuUd_z|2Iak?jDv1y@+(O3O?j3nBJ{!}R(RSF5Q`5e9afb{_!Q z&BDOI07~;9B`_M7oiKSAjmyr(Aj2RSY^UMMbw+nKo8EYMu=g;?PEeZZg2=;3LVS>$ zK>ly=glK`OhtUiSE1^NRni1qDhWYAXg$Vhz;Jj^+%(D$F!2rqY=O7#q33lrlFfUV$$kC+a%&Pu1`Th51^~=#7>%Zk0VWQkVe&A3gRCG}2*!ueU_m4TCJv*Kq)?bM zIU!s=Xh=YKxJj6LbQOg3FDES{q8m>EpSb*X9$^DGPF+|Fi==Be)gq^PSXjbnQ2K&s zL!=`JAGK~c0}%v~V6(dqFH61jK3wQo+zuH~dI6UG7s`->(h5)-Muk8b?r7$DL&a5~ zG!Il>97;1l-M^3nqM#g_mt7!SI9Uv3nL*1>DX9J(P;r>Me4+e2s63R*USq_G>2Yh);u7m6rU|?V{M> zy*LRG7tw{#KTROwYjq&}eR2@~Eh7k@M+3sww}kNhH6i@n))2n01cZOp3c`<)f$;y^ zLioq!A^g1+5dI}-CVm6Wl!_}M;_{~jh#;WEhbK^RJU5ZV)(=WK-`{Qc0h@k9~A zKLk|=OEZ%bA@&zT-QywyQ5Ve*5&r?r+>W;(;@|ioG&fY86DUJ4FfiPKy5lue{x?)S z9?G8tlakuXYxMuL6yiFHn7r(0I#-n%50YCrJ+=;h_%oPYu)@hBH<2p>k)ghN>9{)C7!FxO|Tqf9RmZyN+`V=O0R{|>ls0ALb8z&O%Q6MupkURqo5V!~{oJE{nv*79( zz+rg*L7{+!s)&Mtu+C0&yAVpzS;X0eqzi1<-{r|>{Fj>^=G1M~1lc8kq=0-T!Yyog z4IwT~C7k<^biYDlK}~#02*`~*c+JEmiEtA{1#xx@3fI>0`G-!j+qC-t$Zi&hW;7CE zHZ}aaJ!(^)-*>U+&*FB-fb7I?=5j{-@`(J4-R*19@-g;&J?Ua}uHlu>q14P%U(YHl z%T}?Ry)|dcXJY&b33P;iAbkAgQTrVY9qT(?M~IC-h?&Ht4VzGrsMDL?Dt~`XJEkY_Bl}ZfSd^G7pWySE3FKl zx+bzL7+ki2`VW}l0MP^!M|LwP{4}rX`+-!zaX#W z!(Z(Hr6=s|WAe;?e(hHDx~-u`Gop&EL1qsof3NN7(AR8OB0hH!<7JTB)NNaFl-*Oxb}Lo;XhoB5(Ysp%(B`xv(`5Mzee+jzu{fj-i#5@wq> z&zTnO#mK#-+(+H>F3KNXoCyjS1>ByYqYQcJ*0ro9ddC0Rg?WmrEI@vtWghYL{bt_2 zrMY35o=`r>F6{A3o<{#Tx%7(hm;pF@M6_8EWDEe29L0B*NeL!-qIG{CAvgy!iC$ z71W%oF%te&SC%C3oh5$VHc&i@F)%PdlRi$5kuQ%34~XH|{XGLB2_nJ$d7YPMgC_NQ zOacI6Gx6g9 literal 0 HcmV?d00001 diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-19.00/src/Sort.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-24.05/src/Sort.gcda similarity index 64% rename from board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-19.00/src/Sort.gcda rename to board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-24.05/src/Sort.gcda index 51acbc61dda5a6e044efdb4e6f7dc80d071da6fa..4ab54a52ebd2d262a9eec1e03d566e6dea3b9785 100644 GIT binary patch delta 69 zcmaFC^nytzF(o-&%f!-gk4WZh1_p+OObiSRj0_A6PG%h9ASN>d14GKT9(TfSJuFHSG}iAurAvyQ6{2%1e>$F?da-7wGRPhtxE-W0u)F8#=c20j io^L!!anF=DJymrTrhoKZzyATbM~W0@P^=ci9}EEInk`HK diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13/compress.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13/compress.gcda deleted file mode 100644 index 2a66714fda1f97d6c5ecb1f55b2199e3f5d5ccd4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 268 zcmYdHNlw=?v2~_G!Zqx1qAhTGI6d;(`^*ZoWq%E5gnn{k{x~KyE zGqo3)$R1YXJPnxJ8N{W9(o(3``l$f}+PJ4O=}JMZ73aCUwmUgXM?nx| zCJ$kQu&BUp_Ev6#Qk!GCA{JU&W+1aUu;|1T!fsY#=j06E-cvLFom_AYWELByMkEpJ zX8e5IA}=&C{Ey8F)-aG6)b#80|4W#vg@Q!qeciVlWHvS8COR@ABPsCa=W-^Ommo7K z2|u@_sgBu<<})b?zv@HLBA0^CuD|^B@<)(+w2(r4@H4Tei6YCjPJWt`MK>RGm;&+> zE%I&dJ|>rUO6$9NcL;TY?4U;4P`kMr>>d&u}7n=SLBuB4I&Oz==8zn9^9$^0oveyZ#y(3i+dwBDl7GMc`mG#Ww Mei1m#NGt~#0Gq3X#sB~S diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13/gzread.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13/gzread.gcda deleted file mode 100644 index 2d97bb8fc26ebcb23479d45e47d6eb3f193949e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2548 zcmYdHNlw=?v2^@=J=uzZfngyN0|Nsq0|NuISPMG?0|O&70|SF~*CY0W76<+8*ej|S z7#1=LF;EjMXM~ux8cMH)((4&PZh^>wNw8b~=^S;sYrOC*hfn!OkXv}bQlt{3*;ya_ zBW1<<-qTxGO!JyU6iVinca<#C zW&E!Oa+3xwV+WNuZS(hOgDLz>%?E^;-xU{w!bE^7ekUznR(>oJ7M;iXy>`a6DIhn< zFbo7B&CRndjKkFqnoio+#l``0v(i8~8K<43`6cc>L;Z_IQ#5p&@-7WVztFONdw8UV ltzNDs{_g#ccR+rpXZgNB!$<3Ytlg{pQsvnoyXl%PD&3By7qIsW?$ z3=0`$7zP3?XN1_g8cMH)((4&PZidK#NwAyG&aNmZjw*gBxHWCaxY=CsU$Wtc>UTFa zboxNyEClurwFuI}Z{Nj(<<3^W%tv-qU;Ym=Qwgh? z10}eekqxias~NF}!CJKRhdn(WiN2d%dtQupuLkFKkl%Um+J#G!wD7)upr=|i=+zdT z<7VqYc1qwfma5{Uxlyjz$1MMew%GS`;TJ(}q;{GoFPw=hW4`V)4@pRQ8J5@N%mH#c zA4TCvTDV=8JyP;&6ULmc56{&H@!8}Hm}X9aPV5bd*Yi1N@q5L!iL&uik9Vs z--@;2^M34bU97Mx9prX1dPfai?ISJCAJBLaBYWMIrT)r)8&KGY(8R4oyNLk+vk`*I diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13/inffast.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13/inffast.gcda deleted file mode 100644 index 755c3d04696d097d39ae4ef93e61a02abe685cef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 356 zcmYdHNlw=?v2=WJBiV|9fngyN0|Nsq0|NuISPMG?0|O&7NKiRCecMmQiDwlbIx{dV zWOQR-U`RV?%m4y&*2ID+hQ$tyVEQ4LWMFuA5u}rWVY?bc0K#Kn$k@gO5g1@{HLon# z1qnAjX1kQWPtvQL5hAwej(s3O0dkqxgo zD;b6G%9AR&8b>-?iijdBJC1{e)<4@@1iKP2Mz=|V(Yv>`N%41tCVr!7QX9fX2OGsHmc zfeFCsvRJ49x_lc{+zU#>C^Ta*%uRwSEQ8YM=A!eV$}p&3J0KoFR}b?ah6XALv_Pz7 zfYGEH3)2Uqp~k_@gNeh;Md!oB3DGcfVf7n~MmGForqZt@hL)%e@z=jfU&swm#Gyb=O^MUD+Ty}sILomXB5I%N0 qN+FUU5^Tq^=X`RDd_9CN=;+-C*&zUuA%G{MC2Vv)vHmSavIhV;Ao$h* diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13/inftrees.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13/inftrees.gcda deleted file mode 100644 index a92c5e465208996fce89c7b53e111574ed84038b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 348 zcmYdHNlw=?v2^@+BiV|9fngyN0|Nsq0|NuISPMG?0|O&70|SGYo1MB;(b<1ZcLbvu z7#1?RFfcF(lrVt7dLfVs1_novY6b>|&zfLiIH3m>FXV*_ff?s>z!V12mkJSbI1O?M z0|U(bYzUVDorb7pVEBI+qTqNEL?k8wLT?md0W)CoFdF9G^V(o(hWe!tIs>Ad;jbBl We})4>qm!);=pySGK`tmq5(WS@vm;CZ diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13/trees.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13/trees.gcda deleted file mode 100644 index e3d994be82a3360ae1beb61a9ae0e289fa43988e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2536 zcmYdHNlw=?v2=93nQXN1agZMwVXkeIi$H<m~re6EJV`n@gYAh%L8zBNiW zTRxQ(G*Paea~5Q_4pHtOY>G$=&l}qlx$oX>jS6~dAqes_2T|T3&5q;=UUL4nYkloD z?LGjqg9WP{q?uV9D8Tu0@~+!PZgZqTW)kae{OM&iBX+l~MJpe$mlqis&k9fc-p;x1 zulT<;{!X>18dxlQZQ9tf4@rocf@Q`X9SUqWWuFhgr_PZoK;k&kkG0090 zuo;7$AkB~Lho8hTUhsLMS|P&*@}n3{y+@kcqNf@fv@0;}XHZQ(4RV_dP2GmeaMIk& zUuVQ2ufTC+8pq$YAUAX2G8U^iX?Fek+xGMGp+;>q$uY jfZRNg?SrkJ+f_g8+4Ox%s!cw~EyR|!kfh!GueuPfngyN0|Nsq0|NuISPMG?0|O&70|SG7ki5n2l;7z)nhlmP zFf3#QsbPSF^=N#E9)6}Nd@-&H&d7RL(DW3-`4By73lo_yY)X(t)`L)j-5%!+F?{Qd UO3#p@$3@Ul(eR}pH<5Z600+Ay{{R30 diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.3.1/adler32.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.3.1/adler32.gcda new file mode 100644 index 0000000000000000000000000000000000000000..f25b9572a8f3acdecc54a43299288d9599bd3024 GIT binary patch literal 436 zcmYdHNlw=?v2+ahpD~+(fngyN0|Nsi0|SGT8HYHC$;`mOkhAhhg+0r~kR8niOBfgy zGJ@1Fz`=SnJ_9324~x+BAN~Y6`f*s8UOBfgy zGJ@1Fz`=SnJ_932Pw@VomDbCAmF+g|J^<3g0#}dBz^?aF@1g8X>%ZQaGE>3~q*nx4 L3)R>db~69~4lNyC literal 0 HcmV?d00001 diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.3.1/crc32.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.3.1/crc32.gcda new file mode 100644 index 0000000000000000000000000000000000000000..2547d426797a419b0db83d2c14a6412ebb4db066 GIT binary patch literal 732 zcmYdHNlw=?v2+w?$ehiao&EOi51HGO={5X2_h)z`(GOiGhKEk%581$&5oB#AIe*VA#UO?eTMCZ^uNP zCmc2hij{VSy>r+s!I;CyQN+`tW@oAob( zI)Z-LPs`^v@ACL)u~w3SVIgDK=81fd~*i(2Sye-iIQELV|W!9SqxMQbT&8eZDHY9FeC>Ljs-I(H;84h+>4*JeDWKy1eS@m`->(Ah^KJ8 zjINdxOZ?3+*@CNvBmVK-f{00ue<$w|?_gOfYHT*SLCj!s09T5jx1XPe!cuVqp6m4+ zKz7SbbgZ51$Cbvh#wk82RMs?f@(sxiEQhlGHEr&Z+Q7&nRK0x4WCxiLj+m(`^>V*+ mZ*Ts=?!w5SwsNOh!UCzb$$Pk#a7Yx*a9MbN)wIcTWHJC3ex76i delta 445 zcmeCNYO&HuOi51HGO={5xSnjqz`(GOiGhKEm4ShQS*(Sffq{XMnSp_!ZH8w_qg2l7 zi8@a>eCzAXzFX?sZzk5N)-0Xc_i6J22^Pl5 z2CO=QZz0P~ zBL5fJPyWIFM(~!oZft4jvX~vs21`KNm?l3IDCU?xDP87lrtC?$yWP^s z2LxvD=DplAFG%i3AxN3RM90?2eoST@Ds58@M5=`ICmRSwuo!zkNm<+@#K>Z{TR3v^ z1mOyn>t8PXpUfkY!BTBIZT{p6kpzy@fwm2iWx;PJ3y36e#6P}UAfDuwH~EZc2TSah zoWGNKL<}Z>5J(a9_Vd&Dn7?Z>&-MBZAPeOtI@V5pCy>Um_drpx_SFaJlV6B$VA&EJ sd}i|;i4BY_tDeTGOb(C=5o~(L#>cB>HDjCVvG*X2T$2|H$1ySh0L00r+yDRo diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13/gzclose.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.3.1/gzclose.gcda similarity index 54% rename from board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13/gzclose.gcda rename to board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.3.1/gzclose.gcda index fe5cf0c6206f7c6341c97541558f2270650835c6..b6de4d013ceabf848f41feda334ab6dfd326dc85 100644 GIT binary patch delta 50 zcmXRZ(Me26PS-NAbbQQ^Ih%ojVIdO(0|O%i1A~(phd7AI%)r3#L;bn6%Znop6LmZQ DEdUG{ delta 50 zcmXRZ(Me26PS-NAbewcO*@}UIVIdO(0|P4q0|T>I3p)b?10yp71H%vX=hlJytYs(a GcmMz|CJTQ6 diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.3.1/gzlib.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.3.1/gzlib.gcda new file mode 100644 index 0000000000000000000000000000000000000000..fbdb9b5b563ffa1da8a4c5eef8aaf5585c5d0baf GIT binary patch literal 1752 zcmYdHNlw=?v2;{s%$&`@z_5^sfq{XMfq}uvj6)p6WM*Js5MCRpv}5}enH|jrOBfgy zGJ@1Fz`=SnJ_932&mz8%nuVX&Tn~Mrwg9Au53ZgZ26j7MZZu4Y6Op`7`eK{W3dN$)oKEFA?wkeNIrnF&*j-R!O02Bl1{-GUZcT4o@#Ibh21(%8*P?3|o& z^M%lLyG^?ffXrgSY6f<_KOeWqPuNht!e#|)7)UQQ{W$&q5~c>#pTgw0D>^bFLn}!A zVL6k_OOU%L2_LtlsgCn@%y~eLJE{*wi*(p-bh`ZX@<)(6w6KQlU=_q3=S7xlo%Y&F zR%|}#Fa_i%TI9#veM~N~LZM#0JA^txc2FZfs@+@{v}20V%D0g>KZ5YHsd&iddV zDHcb!hJXEk)C^>&0`V5nP~~z)HoT^+I=-+JXM$V@(pf`T-=n|5WG z-tYW*>ifCyiy*tHogc}|Q^e)p|6R340XKI!_uC$t26DRyMd5}^Gil+uq;CzI*MI#! zUB>@vAUA2?GImgj(>DJL6kcMQkoHQ7`CV}_C`<&X;&;;Gz_5^sfq{XMfq}uvj6)p6WM*Js@XNX{@YZQnw~`$HeFlbw zj4})Z0hWWD#lXO@8cMH)((4&PZbotuBgoBXXIB)2UgTOJH1~TP$jx#{3h2)y&F$uj z|B_`V#m>E{q0K4+>>`C~{^5*)wIH}K< z|AWj_!fNI~2`*=3!)x_wM(km*7A+lOPnSoc?`8*z`YGw`SVrHKBLBQi4}?d><&C*$4_7 zYNsh$mJ{zIBi--D$8#@M*p&`)yBWQshOYLJmgXPrJ)G)2)8$hAmH#%Nuo0n&TZwiP F0|3!^e}n)4 literal 0 HcmV?d00001 diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13/infback.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.3.1/infback.gcda similarity index 87% rename from board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13/infback.gcda rename to board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.3.1/infback.gcda index a405c0f8fee58f423f40e41d456b3235eb752585..d113cf119ee184328202e1b70de2f5c568b39706 100644 GIT binary patch delta 70 zcmZqSZ{gQTOi51HGO=__XUd$-z`(GOiGhKEk%581$&5oB#AIe*U^t*RIbh@JO>7f& YI#|>`yDi+fLxGLup@d+^~Y3cJ;FwL$BQ@9!VI?N(7nBfusO8lRUfn zIp3SHEs{B3rNZ<}AD#|QpWW#IP zN=6~P@}x?x#*xm}qNOA3>58l1OvJ;t%cZ9=s8oZ(h?eQf-PAAV1-cd-CjXbUA4mQP8zp`TdVDkR2j42?z4rX7^*g zUsqN`O@ShlImm5XB)M%lBM(XHVTuuDCvoX@Esi{bJx|=9e&1YwH#6%)=@&w{{DfY% zBlw7L#OJq#Z+nVCzJck3(F_dO>jM^0B>>XEzyPifG@r1k{gm0D^K|QsX&^V=fz}=n zC6tj9pxXPOG&+S#99`Wge>4O}LJ0KZ@FXmspta|4s3u<+R(8PbfzjwD!pb8Rs02(M zjD`v`p!3zB5?W9iMu|chAy68ff|&zzA50!rl%b0|!Zg4XLTQ*VjD`whxDzH0E5GES zWg?75*AJ^jU^GlWE*ch}FnMXH`7nMDlmSzRF5e54Cq$v^gSi`K9lAU^AD8*JMIj~- zs~(p*q>97B14dIzKg>LInpE@A)uWq-&PS*p9PO8@2nT`N2EO?!GA@m3CyqRE=K!@0 zsN3IIPUZf~N&@|*)nv92*Ag%nd)rSk>2|>ir+a}WUMsJI!VXquB7&G07NQLZQH{M# z2ayAl;CS0%@+eQO{%eZerrifXcB7Y%V3iEyncZ%G$Y@_AF9#V0!C*I+{k!aNT_^a}tL8>skeiXsoCHzF0HYa*jPsRH zeX#MU?K|rE_ogwbR%hArrx47t>2RDjQ&aYWj^2Hc9ReU3 V0(cjs8iK1r=M(GS6>t+67y#SD!P~}h_0|P6Zg~~uz$H1_j5hTV8BA`kE_>2&P literal 0 HcmV?d00001 diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.3.1/trees.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.3.1/trees.gcda new file mode 100644 index 0000000000000000000000000000000000000000..f92f80184c87bd734dcb647193d04764755bb242 GIT binary patch literal 2536 zcmYdHNlw=?v2+w=$(+r=z_5^sfq{XMfq}uvj6)p6WM*Js5M>d{Jb2FY=K8%Y<_ruA z8QB={f#o3W3=9mbq4ZiPy`B+dHj++8kl7lgn=OTy-3*kg=bQzZt%Ias=rBq1^X}~R zMUjPh{OPK3j37S?QPrcQx#i$w{oFKX<&$;3fk7a*NKw@-gbX9itv9wOa=&H}cMf`L zAqa9S2O;CZ@}$|3Ji$v&e!rcZ-KO0KKz6Wz%|IteGqX5QfRpL_yiZ1MbEH9L668**haBbQ=A=-cE{;jGNGHf6}iqX`$q`B>VzyUL{ z++`6As>!E8Zj+&@+i)39nwu4L_-p*lHu2{gd$tZ0H*Z;b$nwp$vKx95Qa&Iz4`dy) z)pNV*q0ELQQ&Mg6L2e?BIfECXysAJ#;R$luk2M eaVmQLdo{=|{N*%hX0NF8mVG9$;1!k4W&i*W$(*JD literal 0 HcmV?d00001 diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13/uncompr.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.3.1/uncompr.gcda similarity index 51% rename from board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13/uncompr.gcda rename to board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.3.1/uncompr.gcda index d6513161a25cac8529ea0164f200fe5807630c57..322398d85ed42f803a4c524019857a65ccb7f4f8 100644 GIT binary patch delta 60 zcmeBR>R{4IOi51HGO=_tX33n*z`(GOiGhKEk%581$&5oB#AIe*VDN06U$C9~^V*3z O7AzvY6Sq#xSO5TkDGu5I delta 60 zcmeBR>R{4IOi51HGO=`QyP0goz`(GOiGhKEm4ShQS*(Sffq{XMnSp`9vvq#K@@F?| QChAzQ=&B;b)q{_iTCOd{XqNElgyNh&i<9`#LXCkUcDLJCGUJ?Q`A`!?&&= Ut&J4>Tm&5z1MU>8B~lLq0OA-WKmY&$ literal 0 HcmV?d00001 diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zstd-1.5.6/lib/common/entropy_common.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zstd-1.5.6/lib/common/entropy_common.gcda new file mode 100644 index 0000000000000000000000000000000000000000..cd881bdcf628ee99f5f886920b69032d1cb4dbad GIT binary patch literal 1648 zcmYdHNlw=?v2-*M&794^z_5^sfq{XMfq}uvj6)p6WM*JsaPxQ)qc2tR(Qec30}Koc z8Ce*xf#o1=3=9mbq4ZiPy`B+dCXxw_~ z*>Xl6vTRw+$U&68wK(!5_PqBr>@ClF8;@Xt-~<&=+_2%bgS0gNXl9ey+@%M*cQhL; z0hx`O_enFW?)X0kwu2KM(ZZdVWThCE@A-0y8ty!}z&z;YOTE|BFsm=C&4i7CD~lRt bxr;B5Z9cQAgc@dLxt?)oXXdy-p;-(7KQf1d literal 0 HcmV?d00001 diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zstd-1.5.6/lib/common/error_private.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zstd-1.5.6/lib/common/error_private.gcda new file mode 100644 index 0000000000000000000000000000000000000000..5061883c9c0fb52e3eefac3e70e3797013b7e4ee GIT binary patch literal 356 zcmYdHNlw=?v2=72%bd-?z_5^sfq{XMfq}uvj6)p6WM*Js@La}Z`$Fy2B%ZR4eGCi> S8QmC00qzi3&j<=bWO)FqaSR;* literal 0 HcmV?d00001 diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zstd-1.5.6/lib/common/fse_decompress.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zstd-1.5.6/lib/common/fse_decompress.gcda new file mode 100644 index 0000000000000000000000000000000000000000..413e83152e001f3fe8ea15190f67571b025f42c4 GIT binary patch literal 1328 zcmYdHNlw=?v2<(^%bd-?z_5^sfq{XMfq}uvj6)p6WM*JsSYjBE-O8KicIlad7X!mW zMm`2gzBtDeU)UC>$POiuc4aM|j6^`W1dvAl#ED19r@*+=-T!|q?z@ZHf@ z|L literal 0 HcmV?d00001 diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zstd-1.5.6/lib/common/xxhash.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zstd-1.5.6/lib/common/xxhash.gcda new file mode 100644 index 0000000000000000000000000000000000000000..4134eff5ef88a44bb2ef32ba5004f59cc24e422b GIT binary patch literal 2172 zcmYdHNlw=?v2^?{o;jO=fngyN0|Nsi0|SGT8HYHC$;`mOz?@}Jz+yflVn?&V5(b8a zj36}(aIhStoPmL1HI!ZprPrgWV_*cCwUXsk)t|i~f2d)WQA3c>#9CcbnMXB;K<;9J zy9t>=n)_CG{n!7&b+u1jq9g=lCLgj%B^K&!zl-nz#dn@ z{!wmaU8~)w5mzxACYz~RAA3R#vm7_)>S!tbHKm4G+I{iSh7Av$sA1O0|M$c;N}qkG zurVl-)UO63^Y7;GL#8tzk%ZbYi4`orqthpC; zt8H6^5~yKTW%=Fg#!IE&sA1NZxJ{+3#b>zbSswUSiN>}3?J+H{D3SrCR}N6|P7sq; R=C~hoRgkt!ccn0l7y###z^woP literal 0 HcmV?d00001 diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zstd-1.5.6/lib/common/zstd_common.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zstd-1.5.6/lib/common/zstd_common.gcda new file mode 100644 index 0000000000000000000000000000000000000000..035327a7bd7344f53e98f554321bd6af233c1b1b GIT binary patch literal 376 zcmYdHNlw=?v2-k!%$&`@z_5^sfq{XMfq}uvj6)p6WM*JsVAy3VtXiR&ZMSLn0S1PJ zj4U8A47{EZq!&q;5v2FYQ&wRn$I!a&<%R1>)!S;s%WLZ)78xs zS!)~9Kz48uWd}?VX?FdeX`)lJe)0xd`e*$-wvw4P^2^V86-0sjBLs6QRp{l6JY<=( znvuA;Tg%9T)qL#v+gqcSN3w*C>-#z{QIKD;>s`*shSf}%AaP~MF;<4e(3L`}MGL&< zgY2SZI+33vmEGsie4ZX@(yrpXY(aX4!;v5N*+Bl%fR?DR&>5viLtr!nMnhn5g#c;w zZo}pk3}t~6pG~hmKOI!Y$qlGyNOQYF+amMV)8=VUj4Klaxt+ZFmoz*5!ynWgS(&eO zdh;b7ke&2w^JyrEL_J!!!%CNHwi(E7g#nE#nB}B}-;nj!gif7iM z{3kuHT?d61xWfr^_9#6X0;3@?0z-hb@@g}8V4#4USGVtM_q(7nL~BTe7-@dBcKe)R zp0HrgSs!m-kYDLpxAB;M@j0?p!gNQo!4i<&sAE>7`C~)kPlf|FuWofOFI*2Y3s>J4 z5|zaDaXXo;bACVP&!C3;l*EoOz6}nmTw9W`ALKr2k3*2+FDZLNMe7`IehU4?004%~ B+-(2= literal 0 HcmV?d00001 diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zstd-1.5.6/lib/decompress/zstd_ddict.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zstd-1.5.6/lib/decompress/zstd_ddict.gcda new file mode 100644 index 0000000000000000000000000000000000000000..68aad393730ad8736d09fe069417668fb016a95d GIT binary patch literal 1644 zcmYdHNlw=?v2^?_nK_$*fngyN0|Nsi0|SGT8HYHC$;`mO@Ipn?_RQQxP2I~2*E29I zWMpB$29|@gF)%Q!gwm^_^javro)Kg=l1@gD*$XD~a_^Ow$PCz)%uJ?**_~0BD!iZbNUmj_rw?+s0K{Pwk_dm|4}0SL@4hBK+e%{c=U+BoOhIlG zqR@4y+LtrpcjHO|@~d%_H^ilz--m1&OrNuT?7!T;==jJ+A|FKDL)xy w9@QKIxrLf(xTE88N<^8*jvdVgOF(9$mbHlVLW+C;{ZWgP5ZZT*N@g+u01^R*ZvX%Q literal 0 HcmV?d00001 diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zstd-1.5.6/lib/decompress/zstd_decompress.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zstd-1.5.6/lib/decompress/zstd_decompress.gcda new file mode 100644 index 0000000000000000000000000000000000000000..47022b76498e70fa4b42310b82855a1b153a0be8 GIT binary patch literal 11940 zcmYdHNlw=?v2>g&n>m|-fngyN0|Nsi0|SGT8HYHC$;`mOFxB%yT{M^7N@=yz9~l@H zGO{t?1Ir1>uOuM9nvn&o@oO1DZbL||N8>Xvg50Wq=tBxyM+x(;C1I~XZWTaipn$a; z6eJ7`3@aIV$TDR$RR3Bijos}`dnSacl>b|5w`unQklV3`1Hvs3rx0iMFSEUSqJQFR4|bVm zO$3!CLPVKGtRnKtH=XIqW>XHkMnrz!xd-GX^2%xQ>^2h)$gDr0wc^&CEuTSl6RIB} zA+Zu#7Z6u|2dq>}nJ%mM>{;9n8Cu!lce+7#HG6YBE$W}V-kHjJFZjIV|JFr-+|LCG z1R_cD;$?>r8~={VDG}B|tE517nhPWEs8gOagDx5s+Q=qj1}*Z^ z`~ADP+}C7Ba4&9c0mUaR>Up=Gh1L@TLu+W^eny!b%dh`=7t_LQUc2QMjE#FvPI@N1 z1Qa&(OzXW5#96zmV+D3J8-VRb9VZ|!@6MWIBEaSG{{}V9y!HD{#m|SKIkX7>S!s9J z7JlA(ixy^cOe~9fp(S~p7G@vtvMl1-);oGzX(2yzQO z%aB_~nic1`sJ!T2Ubr4)H#NuJT%!{ee^z~bne!`ZHOOpww86IaUGn~r9%xl}XO$1g zP92)G!DwwLd1W_$+k`mgE1ZAy0>hI)evhHGGe^zG5(3K^Rj`N-ybxmCg+60_Yss85 zz&`eNX~hBdMONA;WggWW0;O$gmQyuFo*`}t)gshv^Xz4|Gkl&KZ9c92j3~&x^eFol z%q-L>Fb=y(%kj9i6}B>R^#@INd8Z44{6))tWZDaJzvHJreWXP@#`kk$G>iX@7Z+va z?t=U=Iz|RAp}=#AVlR30a`q(z|NeMlF(_=@z*3_G_7GT3W;ur_kBQ4eYjMmEV=pgX zRc|ji5}%`?}{ep zQ`5K?(jtskJh~BFx2Pbp;F2#J$Ukz}6Ca&K$!m}HfA^7fk=ye(#fuZ{2Prza7Ge!~ zZnk2sO~1Bxk`^udx2u2V*gCzlYCW<(4?Iph6vCzR8hfqtk>}40Kd=;o(j%?Lw(c^{izvqf9nk*d|9a3Uu3)~ zF1(?2^}hF=_9`HMh|x3`Bf^@zu}0$7ZajUQte%rCzMd9kpR$3o&2x@~`?N5dM~X== zj5+b9bfM)6P+X9krts%q;=)ijCrhF6t;G{sj)i|;8?M<}cIZDf({q#ix58D72eK}k zPD=rWA^xyHq(?}yCoXKx#}*sgDBmd0Q@GO)vV**|OnBWcDQ^1U!t9B$L&Iqr$hN#28 bKKY~NZ~Ml370okMPs@YcOkNz2oW>adcc&9> literal 0 HcmV?d00001 diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zstd-1.5.6/lib/decompress/zstd_decompress_block.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/zstd-1.5.6/lib/decompress/zstd_decompress_block.gcda new file mode 100644 index 0000000000000000000000000000000000000000..fd4b8649309fe429b0f2af6bb043778addd7f3e3 GIT binary patch literal 9368 zcmYdHNlw=?v2@%fl{uS%fngyN0|Nsi0|SGT8HYHC$;`mO@b7n}@45Cl1(%*Fcrh?6 zWaML@1S|&`&%nU28cMH)((4&Pb|ab02(tU#Ph-uu2mJY(PwKq_*)4;lfPPHU+${0% zh}VK&TdnLi?LGiI8nDC)x zfZ-A|~2ll%6 z{qr)j1LE-wcE=~^g6iHCRIzK+kkJsJWe6;16r!r}s~LI7GH)#-{&92cd9LhFqSgGp zA0Jexi1CB+oCsNV6VkMtOh2t=ByPT8EhF~14(xvBx-64sRIua9thM~cAU{*5OdDK& zJW~H5B-KP@!KGhOj@0xcB&La*L$jF`!##C+*5MP*^YcJ%(12(j<_Fm;^8SpuDt$?tbk>6WAUB{fM4H>#cBb-+_)Aq$bIwzpW3}!K zmtV!yG?Q`C?i>rdjYlnxzS;~5~?BDd*t86ce?UKR*)RXP9CDoLsp1kHUj|Yf+DT} diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/src/libchdr_chd.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/src/libchdr_chd.gcda index 70207971c075751da5224c86d2572b33336a8742..460b306f813a18c3e2646484222b8cc0c0a4e59d 100644 GIT binary patch literal 12264 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 T?C<-13@5$jpZq`~oRI+lhy2v; diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/src/libchdr_flac.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/src/libchdr_flac.gcda index bd94823ae5dd48ed94b64c4bc0045c77627f9159..115fb79b3bcf6217b1693f747a9145d490915399 100644 GIT binary patch delta 1229 zcmZ3mgYm~!MxDfzV=w zZq%8;#M0%u<;vs(OfOjOiG(?BUc(&2%wn~>oI9&Drvqfngyd+vGr} z;7ObuEI|rZ6DDtPl3-+b=ea5wuFLDZVY)kY`s<>o+dvb$x z21i%n7xw>+?Jp+Ba7Az|un#zyqHp?Ta)M<6$NHGI!~=#AvnI!Ig>dM!1$ePHmK9H) zz}>;JWOrD{!~a9Da(geO=TZQI-+!okS0_dnC&%{`(Vj4XlroAz$*5oKZIh+C%0 zSjs7!1mV51TgCr(g=gmE4H6A3O9h_anykPP!g0I#VaVm9Y+jQmNJg++FR^X_iB5Kq zVqtNRcrhEq;V8NG*<(_L#g54W(kUDpLj>|ycdU6bSwK32C8j}n&*U2E0+zOEy@w`$ zknUjdzP>SJbB)XbCKkR|&9;*j9fui@jpZwaWd|kiE`91KJGmfy#^ei1EF9POWF(w8b#>w71WTLA zIc!q|nW~u0Uq3vmDrb})3DPe&Suvu0@&#@e4g*nZ%Xu9MDVry#a4@n&&6~Gi@*LF% zEU%AAET7zobT^fv=4Lz2yfLyfsjrIp-mN-9=N1Gq$3ovr1+iQL* zv5FC&oM7oP`GQ&uhttnVUKjJ2Urb(L7{GG3_ng#Z1$m#z4n{02tM|lx1aUYx{+Wd> zZI6FBd5+NsmP4xq_ivtHe1VbU>_M&AM@JQBO;+HknEb$$g=NQ)D22%{OdqgJ**JU2 zJteL#Q_5p8tgX21@y;(LOWgVLx)m525Msv7YJTvKx z=bbgl@c@VJSF6o4ni}K5t~2=T5&5*)T6404QwEFGzMZEguW`!YsB2|eI^h}5ro|IP z83or{*C#x5*4CP){;dmStkFcrvmiq!8@RHtD5gLBx7ot=1tagVxk1Z3w}~@>l;})! z+zL{{(f3qRW{%w9lbaPhI(S)}vn>@SuL<42Vs>y^+~$NZ4n`KU4M$5S=Y%g{`SeZy z=46406D((cD?OfE5ZS{a^;%Ltf@kI8$pw)Ucu(@~zOaLZF9c+|$VA6bu<4&ej2y+h f48BiZ5OsnjO7n6sI0lQPIJ6vJo(g2gbrMR)TW<``zqu9REn7#J2Za!pR;GM{`v++}hO`v*>A zE(H-3Q9usS6C&N z(F^LV8dom;T-+eW$l)KmGVEni)AY>+qAZLYKksdDpVQx-y1773g{3`#LYt$rrd}Ca+=Fm@FXe!29p{p;wiACLIGQP1vlc*2*~9j+txo8yOBpmb#_y z_$DhD`f%)9{m%KY{Qj;$-U7j4E%EG}?oO0MV zcG9BB2Y7rYuTV{3St$4@Z8MMB3J#9bJLTdR?o>CJ{2(G`@)~x9$rkz(SQc_9Doj43 zzk(%_E%Z0oZ8Hor)RxSxb_R2t3%3N%U2sTnvVvg%$L>8Wr;i`g&YkQN5i|LLa?j)h zBNi6TO3~|^GmI`UvXu0^m7Q#3(!e5kRB77e111kRtQtLE{!bNnHrXelW3qu63(KZ+ zT8}ncm?}AnjB+Z!J>1$=*uLI5T2xc<@u`D=aVx zCvUL0!6Fjl_i%EL|c%d9%3g2nww?s0R68Y4Smf!;>3qSa{ESWr+S= zy|fu5sy5Ma?qoe%D;D-wv+r)svCUxOuy^!yn|ed&(&PzBJ(EAM=x|)sDUx`)i64F0CK|4yGfuNe=IgxHf-qdZJ+t*ygqVroMv!|zu~ZJS zb+SPy3(NVJUrRSzgmN%)INj5_J9Eyv6_W)NXH0$&#=>$|%kj?S7hxw@-0oa9o$L|O zGua`6g=OZZzHO5|A||jT$iL8-d?#WC%g1GwnUgCbPp}jmebfPpugMdlSUB{j%XNKa N)p<0zK{A?=0RTJY*GB*V diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/src/libchdr_huffman.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/src/libchdr_huffman.gcda index 978c2c73cba9160cfce649ba8e218e44bef9938c..d6532d66e89ace03f07f8f9ee73f73481fb0e70d 100644 GIT binary patch literal 1600 zcmYdHNlw=?v2;AilR2A#fngyN0|Nsi0|SGT8HYHC$;`mOAh`YtU;VD0ssCCp>|tP7 z$jAedU_b=|s9cC43=9ki@#P?685kH=L+Q0pdOah^&Mt(0Mv$Gkb{+g(-V!m#mi6$1 z>=Z)C!_9=54K;{C9;yb$htV)~Fq(k@zgs$?=778ja!b8%5k-3xu#pS%INMFJsD zL)LOeWIt1G(P~Bxq6}Hf$bwZJB%Y9@!0{yX&4)RHXZw7$Z>p7`up!P4{Nayo$NJpm zPH(5~f45pbt{r3tACdynnWWimUiiZ8bHfYC)_d1lKz7@aZs9P}L0Z_&HMlPKgZKQF zrc#+$P}r$}G88m4V0jbDWdM}{AU3FM0nspdbQ&ZF!k~N!qS56E@j-e(7^aR;S^{(PEN{%e-J&|7o1dp^xP=XHb~_~W?+WEvC$0G5Vm A{{R30 delta 183 zcmX@W)4*epn39~XWn$^bcrV$Cfq`Km69WSSD+2=qvseo|0|NsiGXn#I;QA|k!3r5c z`=-9qpX|dF!I5j%!SDWBw`Jl2k;y)cPLuUm^f>CplS4j!zHPf%hf#u&WlOO?=VTA2 z1Q!1tg2I#6FjepthCi8ec#?-Q1H(c_lgWn6S10SSm~qNpc3uS%QJQSX+zT>ivH`2e gWEVy$FuR9UW^xRZ$K(&JGLwB6xhCteXfiSY05N1U(*OVf diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libretro-common/compat/compat_strl.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libretro-common/compat/compat_strl.gcda new file mode 100644 index 0000000000000000000000000000000000000000..0cf9e665ad61d5605c255c73e88e8afbeffa30b3 GIT binary patch literal 200 zcmYdHNlw=?v2=`+&z#M`z_5^sfq{XMfq}uvj6)p6WM*Js_+{8CvNpeiTOc?=g@Iuq pBO3!gu$~cQ29gR!kQo+I^}%~A6{du(lX(m>gAYjo=}Zhe7yvp-5fT6Z literal 0 HcmV?d00001 diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libretro-common/features/features_cpu.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libretro-common/features/features_cpu.gcda new file mode 100644 index 0000000000000000000000000000000000000000..48f1d43bbae2aa9e5823366bd417d7dfb26c98c7 GIT binary patch literal 576 zcmYdHNlw=?v2?tlk~y1!fngyN0|Nsi0|SGT8HYHC$;`mO(Ee(H=o`5<5%F)wg%}tX zG72$J6Rc+h*@|P`_XiV&8 dG#^(s6T02Q^6%t=YasW6{EVg%iHl(d0{|Q`Fu4E# literal 0 HcmV?d00001 diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libretro-common/file/file_path.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libretro-common/file/file_path.gcda new file mode 100644 index 0000000000000000000000000000000000000000..4a9bf332625fe149827cdcaa409b2c57f9413fd9 GIT binary patch literal 3672 zcmYdHNlw=?v2fngyN0|Nsi0|SGT8HYHC$;`mOaOZKELFVEF*&WRWOBfgy zGJ@1Fz`=SnJ_932Pr$#k#djrL#H5o~XM*(bz}1t&z;3qR3@yGt@7y1}e8Tz-WVQ|| zMh+Ua*!|{avNEXdXzy(UHJu`m-`McF7rPnn_!V>&kF0t~i5cHxmDDd)KeL-q=raxE z4r<0NNv)xY#$GhnbZuYXPewu(nI=H7g)bt1u~ltm(z$6$L{{^b$?Bh zzpmRZ({71A5sx z?a_V7)b+<$Nhu!-PIU9^Xa9Knw~6yvkUOc77V}h#|aEraa1a zTRzkTZ+zJWGJ_iK>SVu{`8Z&i^=?@a36Plr#6~e*b=c!S$YUe#_T2bSw5WH2RHm`a z72dhMh}WwUJzND6!Z_+sHAJndlldtsNKrJ)5#a6q?+AHttUS7B! zWF{%~wb{c5qMF>zzxJMVvI6O)X8kh#M2SiCoH-X)d_6rMWVRT!lNE}2*wfgIJ>Kc; zRvkw_WPA(&xq%jSbfKns9G8^a&n=J3f)J0Ev{YV)K@bXP#9BERy@$RVcqj*e=sHO?`aFRdb!&kO(vyH ik+#VyZ0F@uyU1x9bMzL7-6$^S>TNm(&f^r8Zwvr02Pv2U literal 0 HcmV?d00001 diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libretro-common/lists/string_list.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libretro-common/lists/string_list.gcda new file mode 100644 index 0000000000000000000000000000000000000000..769b9a780e9a68a47fe2c2b4fbdcaf6beae2cdda GIT binary patch literal 2224 zcmYdHNlw=?v2>iMoH?6;fngyN0|Nsi0|SGT8HYHC$;`mO;4k;hheM>}Sap^yKLf); zMm7d~U^xN#)r>4ywXbCa*^Q7|kH%+U1i3|N=`?mjNrP|uE(Y%cxkUh>fdbZYke3-4 z7*<2+wNM(n8;)%IQt(AAKzhoDbt^$`5Td|lOs%B3h3D#8;m9RoJ*BVv!QsJ$X&@dE z((JlDtCQETWY4E>zolP*{4IvZWXh#TbKA9mR>O%$FDys<($PFSS_?CF3q=ie)DvgS%T=Q2tGi_G{ zxoIHt)h?D934$N^XYOb=SORhjYS~1ZzwVZwuCHqsHrDQoUj;IYhxhaf0pZ*@{ViK!ult{Uj>JKuT9&tbM Wa%l05;&QIureo_tcG9RGVgLZ8*s2Nu literal 0 HcmV?d00001 diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libretro-common/memmap/memalign.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libretro-common/memmap/memalign.gcda new file mode 100644 index 0000000000000000000000000000000000000000..b01e54911aa4aa963a098564fc944bbb7b7428a3 GIT binary patch literal 212 zcmYdHNlw=?v2?txoH?6;fngyN0|Nsi0|SGT8HYHC$;`mOQ1QK3`DF78AG=Mv4=^w+ uWMpB$2G%oz^diYHg7j`Q`yXMjVfByh<%R1>)myeIQv2ERqGKfLWdH!>vL1H; literal 0 HcmV?d00001 diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libretro-common/string/stdstring.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libretro-common/string/stdstring.gcda new file mode 100644 index 0000000000000000000000000000000000000000..0bfc7e38aca16daf4a72a589c78235f600b5766e GIT binary patch literal 2516 zcmYdHNlw=?v2@H)%$&`@z_5^sfq{XMfq}uvj6)p6WM*Js5RnLFV|;d0%0Nx0h=E}t zBO3!gupFeFfq`K)lwJ#^*E535M$*X$GP|Mpk!t86kHY)xv7&LeM=eGfci3lPwP?1Giy5fsGYstT=aGgfTn=X)>_$YD-X?BF@{(c%L*m{M8PS-PFh@`*Xq^pL1KBp+)=^9C>9^W}DU!QEWCB&_f!@x=Y9DES*jInaDP`tC|66mm zd{EBsDz9^V4cZ4!nMbNv_4=H|&1dCivLH j@8@Y@T9j*37WKt@WlpoBW;vX9=`Y{L*Rk$YGLr!SsmQ+- literal 0 HcmV?d00001 diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libretro-common/vfs/vfs_implementation.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libretro-common/vfs/vfs_implementation.gcda new file mode 100644 index 0000000000000000000000000000000000000000..571a45ef049035ff88639cffc9429b1845705967 GIT binary patch literal 2140 zcmYdHNlw=?v2<)x%AC!>z_5^sfq{XMfq}uvj6)p6WM*Js;8-)s_N(&ATk$7eWic=; zWaMHX1*~TTnTe!>5oG30?hkr1rg(@RslAv8GLsKU0qIQac7(iOl;g3J{t z&yd}!mCa3yf7pQZ(jt6We*5H$*Dm4Mc;JsI$PQ|R?<1D-Y(ti-tJ@iB--68KASx)a zhu|kL_cw?h=jC2O zPCn#6Q&CfO;(WuOq9Z{d_t7#vht(fca;ZoW+x>c~Cde*oq?ZLL6{YLe{@wU}otG%c zOj7d5zcbThydT!`_VYdc3DQeRTKnZH&$Zy6%Mn3ut(73NB*;xhBQw@c o+z(spl>%~$3rS{<6vf!XuG-{H#*)i!{hv~k<3V9Zqx`@C0D(cDhyVZp literal 0 HcmV?d00001 diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libretro-common/vfs/vfs_implementation_cdrom.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libretro-common/vfs/vfs_implementation_cdrom.gcda new file mode 100644 index 0000000000000000000000000000000000000000..36a4156f7808a42b49ac2fa5197211a6b6021880 GIT binary patch literal 1268 zcmYdHNlw=?v2>JD$(+r=z_5^sfq{XMfq}uvj6)p6WM*JsSler$7ihw^cSp0q5(b8a zj36}(aIhStoPmL1HI!ZprPrgWV_*cCwW<4<*Ta8{jHzMP+n!DV^Nug>|IfeX0J%#B z?k0LNmNT;9wQe;d3s(8HXyJoByiUjDC*Il|$k()=bq&amd|1sQR*>??HBR5M>Q%cKm5sQ&^K6I^E1qeiO(JJ)-OwtcpnU``#d*x=oun9(c?slq sg+bvh()^H_$uHevH%XNm`ML48Mdgj+a<1N{W9vcT!9`Md5bbUT0Qm)4TmS$7 literal 0 HcmV?d00001 diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/frontend/cspace.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/frontend/cspace.gcda index ba822d5d41f180360e7e4fd17b3b8418d5872064..cfcf04a18fe090052e96b9df2a3781eea9c9a897 100644 GIT binary patch delta 116 zcmdnPyoXsQF(o-&%f!<0tX$@71_p+OObiSRj0_A6PG%h9ASN>d1H;vDJ?qM2EO#dA zSg;)HiE^5#W5N*=bzLGOxakdu%@lT-Ik4-H!Ndm+EZ@cbu1t<#)R`Q>$ikvObFJy* S2u1^zo6>bVC+g@kG5`QT$0A_> delta 159 zcmdnPyoXsQF(o-&%f!<0`rTwJ1_p+OObiSRtPBhc%wjF<3=9m6%nS?+SHtzJ-?qfC zPt>ts2|C9#bE1w3M@-api6@h`E(Nif!Y(tf`2Uf8;sXa3zNFg6lOq^)CI>LGuvBj6& diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/frontend/libretro-cdrom.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/frontend/libretro-cdrom.gcda new file mode 100644 index 0000000000000000000000000000000000000000..5eabf4aa379e1a8f65cd0ad9b1b93cc7d457cc26 GIT binary patch literal 4604 zcmYdHNlw=?v25QHrH_*!(NL%Cv}&WWg7_>-U)4?FvZQ3yKdel7gHxe;m|fb?E%YeTo0H(sEkc z6~5HgN#XwYbF>JvI0voz8_Tb(Uw+M#3FHrY=FMxHUK*@f6x5s?qa_Bio7DKipO;rN zVz2+!qSc+)>(aN43)D0@F87({D?5SQrbSX(8fe9&rR81oFQok}?@Xj-yJ5Qh2hqYB z_4OhiC!|2(M~nLOKJU6pAK^P!#4hqarQz3CInoV;iKUvHdUql{>s@nXvSZJGf1Wzl}(= G*$e% literal 0 HcmV?d00001 diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/frontend/libretro-rthreads.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/frontend/libretro-rthreads.gcda new file mode 100644 index 0000000000000000000000000000000000000000..ab4f891dad10d46f24316e9a22e876b051d312d4 GIT binary patch literal 1676 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 S_QGi7{4|v2NnrH?$e#d#K4>EV diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/frontend/main.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/frontend/main.gcda index edbd3592c79ce2b691486f206fac27eb8621804d..8600d305ff48861167e87d80d11be75f01c6e374 100644 GIT binary patch literal 2956 zcmYdHNlw=?v2=W;k~y1!fngyN0|Nsi0|SGT8HYHC$;`mOkj3({GUfB-&99mpbr~2I zGO{r+Ft9M-0xLn<85kJWGlI;L1sMQQ$_Qc>O013(+aA$jw`unQkXayelp*pAFq(k@ z)eJwVJj^}$Tlu-3Fuqdg=X?4SWCjNV1A{$64VZ<_M>jJNtO`tk-PIU3x18xw%Q1uh zY>Xf?g|PS$#ldBrlPsl)fZytzkuvgLb3~H209JW zj19xo!Q^0k7>zEDiw_eAxm}Kdfk7|yh89Q+W)6%Ft2$eNP5g@QYG-WX>yAlrk|GX^ zpFEHz2nL6lZGl#Wq)XAFkIPcbL16~ULl9|vBx*WFQVBNm#P;Ldr`zquRv_DwH9T;5dw2Fh^&(fT_%_Ia@x1>;jeb zFf-9t?=w4^4VHk+0u>QFAXzX*b;oj;;n4EqkLP5k zH&Y6DDG9f>NpcbIe)i}h+Yh!HOrY8i7J?99x39c%H$r~dF2xm#I^KiaEHN77WG5(3!py=&qnn9TCxQKOI^V?DjX69(cv^)E z$V^h|7PzyCW}t@YE|{aCacci}Li#e}B!;pF>2pDDal#X(L|Zv*6rzUR9<;DqbZ(X3 zG8T^;S9OKiKw$?;kCb~I)lMYyz-j0Hg|)t4^Y<*T@C*wE*-6W?x8GV?qb@eW6gjUV zf&kT>pnL&!E7+Yv6L!_)su;u)qn9135tQ^mMPHT88O9k`KU_sFXJGciX!JY=O1DsB g!1mXRdDm&@Hc6>mcdiD76R6CD%44BW{er9j00ZaixBvhE literal 3404 zcmYdHNlw=?v2bTC6@8j(@?LGi9i-m!K!3`o0rx_Sf z%`k?_!`zd44FEAP!L&)jwtkJz%?66{~q2zItPsT>AM1AiL!l7#I-222qU8hlpaT zBP0%!htZhku4Dw+9~SWe9E31=7@c>BsT`yi#)r|lM|xyP5eKQojv?tr7-ldu4OX%* zsCqA1@T_LT{*RzA0);(733ijvMG@*zoi=6($d(^+IoGVG|FlI$MBE{EF{tXKdo@j!AKn zA`VhZTMS9p0SHULY0b7kt0GOG_s_>=DdwQG1}j?-%CNCe(=U<=u$d>eALm{ky@cIB zSZ61-%v9)05}MmORXZYPLJP=DQ2s-*mqaFh_giPplrU}eKTb{e8;Lx(pI&~q5V_vL zbToc<&1vUWklD?vaP#UqKUf&R(k+aJnTgJai6dxKyCe}Bz;PJ4V2;iKkEgjioj*5% z>;k0=m=atxsEz~G%~|njMId|7)iE$Y(qIEf5`w{YeVQfD=Q&GCZAY`g5|CXWeS#2q z29TK$CPc3-w04Kp#eX~}JM9UPnnFpqwoQ_YIK1586SDmfJ3%CBIDtf<80_|ySMEma z@zOf>@?dB+$n88xWi`kjP_0F}p}VD5p@7z&^Q2zgX@>qF&XWmvtKcb#-Evz5wqXK)z;Dnk)U&{?Qv HAB}C$?22H4C^!mo7y|=?E`-Y<1f@ZCL6{ITgCHCb2{x1ASPefvb2s;IkCHr)nLHpF zH2fXpDKs%u?ngltW<7RX%FkA%SLxU1PT1$7Mcmb~GC-0r>+V z4RQ#o`#>U440d1cksg`lwsRGc^&<46>g54N1Vl4fud`BW%mMkYSBcRpgQj=gF)2<( z4aR*ru3efaDn<03;7#K}ZCDB_kUH1H(fN7b%boOdLitFsx?;*_8s4gkZ2;IZe3q#h6P=e}TggC_B`L8zldu`5(BS&wZ zo5;~CaJ*VP;P>JHa`fI53APkmUAvGRy*_O_0-J6wtRP446E=6*$nNM1 z3Y6Icv#E&~I@QYgI~O0Q&O!|TlTj3B=vDPaWp^}Oj$xogf6o_3pd9{~B4g@J(q zBo0ysqZt@*+X+&~zyLA(8-xQQ!Dg$z=4C8RXPjm}o4@SfMaug&9!C=4ePKc=B_rDQfpr%s<@(aieh%`15cQ`^+ zL(%|*4JN^Mblh02P+_SkE*)2L2xJEba{7XX4>Obo>jD$R*|im{7EFNcy2>iZ6~&`3 zB=e{SY!@gkqosKUd|?PS37VFFLO382Y&OFdQSCOKWjB%Y2}lwZ6X$LuJz%r{&bXqy z?AasB9nA(yKw$)OGa?-lXJ$CUP_UV+R~<@oJjXXpW>(-kkeL#o!VRhhWIl+Aumi-y z#4vdn4O0Q*!=epF6C1WZFoPHvz;3Ocnx50XWifwMUV1CYttm)uh1mt8VOr7o=;APW z7>zDZZ9dE%bQ)$4jE2d>_ybK7at}hDxO7;E@DMm|mpl<2m~28LZ|`qBM_&=2twEL>pXFdCOQ0|Tm`j=^n)l(SAvTddRh1zWakUVR

tZTazozh@Pz(L z0SfnZp7;%v8@Og#81HbosX35tSiR9dedp_qcUNEeC=Ch+SRO-87O?ybqls!I^^9X_L(!*2# zBJ2WbCmy5ggYjWB%p@2eM#IEmG)x>u!^9CZarvwYp#dBQJo*=_I`(a!@LpWM5)=kT z2zhva6DEY)ZkUR}Mq`Ev{(c;49Z`w!4mhloWI58}kDg_DvQhC8D69$)@)%)-BsIz$ z)FFVGMj*~bO$!weK@bT}3ryG7FV&J+e;DFf!&^em|f>;|1Jqdxh3yG zZqGuN)Tp))5xj*C$=eBRo^}_C+-KO5#+HZm{Qzn0MqRd zJ*ajTK?Ff0*iId#-9gG$xg{&|b$UT|3Lw>y=ysv=L55(*#JQyyp&9HJ>5OwBoX1LP WCNj(dxAnmj8wfR2ViD&yWXk}*Q+7lE literal 7328 zcmYdHNlw=?v2@&eIoXPVfngyN0|Nsq0|NuISPMG?0|O&70|P_y%rd#wXVapW-fVupKf&sXU5W!EHO54VHlH z0I30CkOE@OG=V4vkzg}z1V5(NhB8gNDYLZ#WTq5IhHe;lIDo zj#8iLhIX5F9{~9U6z)7wMKGG!aGC(s2aDfqhiwL{kF8p5KIKmk$ZQ#eJjpC+5t6k) zHBc5_Ezr~j^HWxQTG6THx}lV$rzWV&U}lysk>+>snDrdlOoS5L?uV$s90g=W=;;4g6*2p%E-JsBK*9}qZ+VXpgaUB>p%(+m^ia1BQ$``{(U7*=XtYh zAaedhD1otvGaIHFmhKFsUe*Vv|IkBDcchk$HV8w(?hT9hP#e6^@uAGDz;~cYubhcNb{0pXm+**U=R+v(B8r>~0 zK01xA51kKFPi=8@b76c^X>@nN_%L%|d>9QArxs1AxrFp1lotPSp{|?m;k%8>W6{DACo7}OuydAfWjM8o`Yra z62#esWCYl*&hEP+`Fh`U0y%61L3V-S7D){O=3++T+_sbvR8L?Uwww{s?!uJCErQw( zMp6g%)B6KAe=vG9d1|mQt zNvuAYI+!)E_9KjsZXHY>Ax>PH%|mDa$1ju52d`sBr$1TQ=o|rs1*p9TD{q>imc#fk ztuVL3XoOpcb3;DNAZUI1W2If>d6wPQnSHn7U~WJtA(cg(8<0!|heO`$@C3cW&G)bI zt4;yAfxNs#p50tCEsSd`SQ!Sw?$sOp(@l@h%vycrqcq6h*vcSS{KIHs+f7l3Kn92L z>$*+hFKw>Xwlmbeh1rEL6QUT#htb5^6$#M}BEfduwB94rck$5u*u@*HKz3<>WClGZ zFa7Z7U#yxlZE5Lyas5h=Uy;T#2EC67I}kHW@b~-h*Jnzy9BJmK0wtboRJ;TVs{$+z zK%_m0Bsw1=O1R$vQ#a5wvF?YdgVE^jCRQAmI+%IH%Jcg`bP!TcY#9*&F%Cq6%Lu0H z>zJ-h{BzxZ{{`?k6LLQeqzHrw+YM4Riid6pV3scszo3>QVGuzO2~InI+`~QDo?o<` zll18Ws2l-}QKF|6bUsKkbun>n4@FoCc6AqY8e8qrbO9h6Ybrn(|urx%n)1n`Vm5uX+?{RFWV)h)pgK@bUc fi*&}hki|g<9QPK+e*(D$)L#Wjl81?N1G3oww)c(6 diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/libpcsxcore/cdrom-async.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/libpcsxcore/cdrom-async.gcda new file mode 100644 index 0000000000000000000000000000000000000000..431ebd921ee065e4f50b9f363c61abf8b5e3c209 GIT binary patch literal 3812 zcmYdHNlw=?v2-;1nK7GzfngyN0|Nsi0|SGT8HYHC$;`mOu=(M#@Y#|jF@6%N?hFhI z8Mzop0gD+0NKuYc?NUY#oN~w#%Nco)xkR&9g1pVZz_6YX6b4Az7(rp6mf2BPrX;?6 zN3+2aP#B=9Sq#;?6iP3L()i7cy!wta!rpX+=Ud@?keML=K{bNo0OSUAJ_7@Bb{T;* zLonF=Y^m>~&jdYEFZL1-0@($M!>ybU1%yfB?0g4vECU1BPC=W?0!L2T)loCdtnHct zH$^t7^z)d!0QmzH*P!@8_5(T}CWjCw&OcvZ8lnD)>Ha9=qm$?=@l!|xWH%_jE})3X2yG^?ffb3>LGZn(c?O%vI#9t6Lm<0Q4_1Ed%ezV$kJTjJg1Tq_xKF<;e zTZBAub{+y-2PVLF?tJ()d*Y!O{=GAkRX}#?FfcH{%!JXfI3kt?n@$7)GY_T|osTXK zlSikCEe{UE41}g-E@9JB`G012gts002=Y599lbycZ(MwY_+peYnICG$O*C^D7?v`E z(h5Q!R3XE1Mv#9%c7sG<@-Ui#0k!=6h?X9ghF%lmkqL_G=X?4S$mlAiF^66C%yPfZ<)J1VWrRJAXj+!Rp;M_5C45 zvCnJmo?Bgl*@@;Y2Hbq&>~ur3Q*G+b;ENBo%P*cGdKhG<7|1bDHHhGc3ZPLid17f| z({4V(9&lXz-DoWyc6GNHaybMGYZy(e*{*12FPOn4vufw@=g4NG`-fPw!_ds$oovcE z-~Df{%4>^AP}nLlAkq%Z-MDCkQK&4KdYCATF98#P(lBut4HZVBh)XXf2p!=8lNPYt4d605+J7Ihnjjj$RPApAqd>Dfq1HoXo2VZr`w6l+~cWR2< z0&=?olG|Z+uZA*UG?dE_2P(K27#OxfGhn(i#Nd@s1u$`RK1>`&LzN?yA*f~QABeFG z3P>3hA_OT@W!xb=1c_Rv!sKBzdYNjC&D-`j*AZyhtcTzVd5|vQyw*bVSS^e&~yaT2MZfa{itCBlZVmh zVe<)ActOMF>&Rj> O%&$o5$Y7G}76t%^+9(tN literal 0 HcmV?d00001 diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/libpcsxcore/cdrom.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/libpcsxcore/cdrom.gcda index bdecbd9519caa0a25bb1ccc3f94618ab73849856..5fe9cc7c234bc25a0104299834bef59ddc7cedf1 100644 GIT binary patch literal 5336 zcmYdHNlw=?v2--}nK7GzfngyN0|Nsi0|SGT8HYHC$;`mO5a%<|^Q=?9+D_-sjSLJ6 z895k;0n0(gFfcHzgwm^_^javro)Kghl1YppyCiE~#ha^4D43VOst0739s>gdOdV7s z*nJ>9z8 zhkX((U>O*|Vc)N_ow+RF`&s08Mt3VZpMe44N3i8M?D_zCt z<5$4~0xE#69x6-&YB?hh$W&-1gxL$DK~mW9N=7yY1_lTHg9ae^<52e_^sR>EYYQ=u zG(0ZA928GnnU2`J39KoU@m>7Wdc z#7~Cu9icQ-8BPjj6(JgC0L-s2dId}ZN@I#6(itf1pvtgN*z?ydn8Tpy&t>`x`&1Y6 z9+^iqhd^Ng3P*oX!e?M$AT@2@Lo<8rCUc(;0xChx3P<;Y%mx_?Q<4L9@e*kMLKi1C z58sAqg!*Sj*vH%~v9hA?>%2rkc7pr^wF-$sgds!_dsso_z$CbQsC#?IuJWXrJtbQ)R|!|Ppi_rcU7r$$P_O7?Dnj3XNaf56o z%uX1MY&XOn>~{P@v*SXZW{ttl*eO;!cTV!)_iNoAS zh(_Jx#6Q>sq zODDMOLzhSAUKZw_1>QO^m%#fWE++K0Lea{#nW^i)exS@QQr+3ZUi z<>0c5fq?LE}x?3-r-yN?8atkQz zV0AZ)Mrffo3lUEszv8wXdp-37E!;QGKj>IKjj7?jkJn<5UqSU0%v@MngOy=0ae26< z2)96lu-o|o%}%2|{$_WiyLLJX+9iVQlz?caF-e?TksJX|3*R)B`aSawx#KcRqzdF# z5m35BBq${12qrUB9!4W%P+16h;@tKXEgV06^^KAKsmYh#s{n56gW~BNw4gqLgGSCP z5Z7RjvoC0N?F)XA5XnEYQAcI71SlLp{R)KpAtu2{T;jyq{T>&V4K2G)k literal 6256 zcmYdHNlw=?v2>hvIoXPVfngyN0|Nsq0|NuISPMG?0|O&70|P^x&qUATGnSO>bpG7P zz_5^!gMk>ZoDrgGB_j`nK_a;ts(&q%Ue5?}8 z3=G)a)(27y!C(VZ^7ING8Vf8Hm!9|?lpeVl7#J?dK@`B~Dp00kU|^7eS`r6M;mB@; z=)hqoTsUQ5!Szwk&S_Y!9o9^0mxLCdKe7~caV_+b4ozc@UR4PP>8jREDQ_`fBwripa?TS z%8hQcFe@z9lMDO*Ld)%o?h{a$X)!P`a6&b%I|*UH_)DOCxf2laFbKs^0i~hQ3FRTo z0TrMiL0mL6h~R!o6$GhfU^ot?U-Lrvu=D~GM@}c8uxl&31y%?%4@QH+4lKcdT83t$ zg@w!X7xpaz$|f?8Y7T+I0u+v&{19Ko!qp=355!FDX)_E%$RyevJ zWHu;2z{2%BsG?zDV0eEVVj{XYvOggzu-ln~X6KBskGVlp_f7l0&PxP&YzzBLDAHmEFtxf|p+kb34NAd-RMwGf1ckuY_{`YRXBU*4Qj z@?T~7zZ&j3r3bPb6!&Y+!c2$I3!rJ0SUU>P>{z68G-tlX)RjA$4VHlH0HvkbWzdL1 zDnlW*VULe2G&854VD@!%4@g5c^SC}FeG%)WVElZjJUT4`^}s zP#l5ME6hBY9WWZ%O%OHM?dU+W<3gThjqO&Cs=m+n=Ys42)fK7`0~j2k{&#@VFg~$% zb)wl-W3E|nN-{*~nV&^2$SxU11_qd2xafD=ppGGtvWD6XD^p!f0ITNf*anujL`)AKcD-s->tL-IAZ4eMzGnRM&v=F)p{j z#9=gY8UcyzmeB-Niwqz($h|Nc7M3tRjK$|J`kL<+l|4RH04K9|uRf3rHlqKNk!Uf6={gbqJIjG#M-2!H%}54+!xoC{8K z-!zu`aT;e|-f`W}8RRz+1_lOc5P_r+7n6`WggmO7vmLg9$0lI%FdA1rX-12WPhWjw zq;AD zkXu3F<&98-VlF})HO^2Jp>VLfp%Gy|IGuf(86UWL&YIQn^Wr~&++c)a#!%-V!ipYc IB64T}06qC@?f?J) diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/libpcsxcore/cheat.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/libpcsxcore/cheat.gcda index 9c74b7b2ed97a0b8ab2325815330406c458d2f80..5407e5d2cfaf3536c28b9f3c0b77a0b8664b12ef 100644 GIT binary patch delta 152 zcmbQEFh@ZqF(o-&%f!;r@Mp$s1_p+OObiSRj0_A6PG%h98)YoGIGvW*v@kF%WMrGH z$Y?xy0#}3}NC^WNtY-wVUrzqXrHvu_VzViCIwR9T&dm#X7Bh-4FfbhC1Z!eoV1Vdb Vx;d0@HX|d`L`Qj^-5@)m(g0iO93cPz delta 152 zcmbQEFh@ZqF(o-&%f!;L?{cyg0|UcCCI$uuRt5$JX0aCbjWQNooQcby?O|Y8$jCNX zkfBTMkaN+%?o)JGm0=UFsRF+>a*S)$~T*l Qk!7NzJdZykOpbv807@_#WdHyG diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/libpcsxcore/database.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/libpcsxcore/database.gcda index 201dea331976314a486b102b45563e286ba4d7a5..885471854663fd77d14b3338f62bf1f7e5a24e1a 100644 GIT binary patch literal 472 zcmYdHNlw=?v2@h?nK7GzfngyN0|Nsi0|SGT8HYHC$;`mOFwu-hq@jbqAZ7pE5C(>Y zj9MTG22=pjgDNsucTMsE&~Gt0A1-8`v3p{ literal 448 zcmYdHNlw=?v2WfFu|ofDuA5fb@Zw_dx^}d8jZQsg;aucx_wH2y$}}%mYxrItI?q+&Ll5R;jKf#LHLv7|qjS{TAj X`=>K7EM%0L?8ulq@toMk6;~JmaI_PO delta 68 zcmeBS{lj9Kn39~XWn$^L;BvAR0|UcCCI$uuRt5$JX0aA_1_lO3W(Ed^&rigX{#SZ=!$Kwo1_nk31_mcH4)KXHDmqU<90mpk7!8tV0E6|6 LAof$JJV*!tihK*s delta 79 zcmd1Fkx5KRPS-NAbbNm`*@}UIVIdO(0|P4q0|T>I3;RSF6`eRv1~7op-ojum0|Uc) NMv&TaMi`%g0RT+@3S0mH diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/libpcsxcore/gte.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/libpcsxcore/gte.gcda index 7deb48efef3ea76da14225e8f5f623cf1306c593..7f65e0b2699abe0adef30f39c5683c1d2f02d779 100644 GIT binary patch delta 626 zcmZ2u@IhZDF(o-&%f!-=;eW<#1_p+OObiSRj0_A6PG%h98)a@VP1ayhm@L990;WBf z*MMme77q};xrXHi%j7+*8#c3WNw8T5Y-M2pfxRlsAd12GHy4&!vaGf8g7RS$x;l>C5SfN!kZ@&SSkDLw z(MqPtMWR}a*CtP7sRxtcLf0TF8DL7jGfi$2Q{rCr9}*LC(u@-w#ldcR&NTUwm=g15 zq4g6TWw{PP8g=w-C^Ddz<1xBbiM3{+bG8;>n&{kKdC{*7ElE6~NNJ87Hq2(qg`) z$vDwb9xU>caq>SQt%*KDAmx(-gheJ#VR;2+r-+CMKUu*Evl&dU`6V;aQMdjIJDA51 zrU;>zLnsCxC~XfFXM^%#l!GNRn0X)zLLUJI6$1l<3e-IFrx5R_uY=H^q2gdo3=9lH zyTB}K1|Ls|0x*|>fdSo}i*+ILQ!8OAAmRCkadMHU7PHPpfr*Z~TscrlL*9vwVp+GL zJcv#xhk=2id@d;77#NhcK-?+_Q6=mL%_!G^m( c^Q>0i>-fITOO%0OAtTE~N72di7zG&_0Gf_+q5uE@ diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/libpcsxcore/gte_divider.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/libpcsxcore/gte_divider.gcda index 3fba8f9539a191f41a85797faad5d65e06e442ea..0b15f493fe5d62549f2aaa20c697290c95e45837 100644 GIT binary patch delta 71 zcma!vkx5KRPS-NAbQJlYF`I#bVIdO(0|O%i1A~(phxkMp8I^OTUJM`rqZt_1GlJAq Lfe4TU0|Ns9BXSGE delta 71 zcma!vkx5KRPS-NAbS%7eDDEL3=9nG O89{2kF+#Zv3=9DOybCM< diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/libpcsxcore/gte_nf.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/libpcsxcore/gte_nf.gcda index 4f3b90708c185fb4df56ce786d7e68d191675db3..26a5eab051a100db9b49e16c7fc6617896005690 100644 GIT binary patch delta 77 zcmbQkKZjo?F(o-&%f!-=|9{481_p+OObiSRj0_A6PG%h96J=y3<|s^zr~#2*K;-5L dj7wN1<|s@KVS6yygvnrX3cJYU3MOSn1^`?y7QO%g delta 203 zcmbQkKZjo?F(o-&%f!;L^;)tO0|UcCCI$uuRt5$JX0aCbi83-m!n$k>5U`#REXOp_ zt4nBQ6-W(893slcH1S!NP=f$S1cV`?Y)qS*7&oy9v75pqAmTq5C%dt|Q<`nX4N}W+ kalIm#hVdB~Aj-ZnP7Y&NQd!x<0+xo+FzH{6U|}!;0L(2P_y7O^ diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/libpcsxcore/mdec.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/libpcsxcore/mdec.gcda index bf070b594df926d1fd183cf3e55936da9cec434f..5d8414fdf264c3ababdb87a6b63ffb7d8c226e3d 100644 GIT binary patch literal 2968 zcmYdHNlw=?v2;A~Gh;Rb1H(cl1_lO31_lNvGY)YOlbL~mp?(@)*rk{G$Mjte%w=F$ z$mqwwzyMOm08#)V27rcIOSC&+>Op=3u?LD~U|0^ddL?5H0|P@dmqax-_pmHua=|7( zsvZ<73=9JmJ`4=2q4BpCO0Q=G<%Lub0dX25D9>n|DXZt)I{%yb5vi4+JR=5?qY;Tn zQxFTVyAdJ>Cc$oOau<>^kzrE$e*dop$c;K+si8(JXOy6elUG9Hdo`l~RqR{K$U&4j zko1M56dZTQyl=7Hy~8_ATzcYnP~34LDIm-wFTKRIaeHh%w#^#9?rPA7Y$o>X-0D{SjbHU4Ep(=^0M+dXNC(Z8F6G(e#LQQ`k wDCgy}`U>D88vvu96oA({$RI%ePGa!`xOmALJGxNQ6>}B-u?20AXpjK>z>% literal 3276 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 F1OR5x`Lh53 diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/libpcsxcore/new_dynarec/emu_if.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/libpcsxcore/new_dynarec/emu_if.gcda index 4497df108875dc81e8d59dfd64153c6d53073df8..b2ad4d6441fcfb4c05b1cc6521eaf88e519711e0 100644 GIT binary patch literal 2992 zcmYdHNlw=?v2=7{&794^z_5^sfq{XMfq}uvj6)p6WM*JscvN#ncAuA?zZB|IRzLFtAYNfBvGRJ+s=n!$Gc*0?UZ zLPRZH=fvj2AiH=F@+7cO?Lg89wqt4cqUiTRGEXC7FPx#39b%VHg*@%9`TFmgYdpvf zP?#aPgG45N|Geh4k6kV&p%*4vt^%@4iA2+Bt9&IRb<--OY(sK0I8LvBnV2ZoG4a~1 zIa@x1!hj7)0VZ=LBYt`8c3izIQ08#jWE(B*sNE>hfP|>AU6mwFfh17J%&Bb7#N(P@-P~v z4n~9A0&)Y)&VOijmQ0%JpPRM7^0!K~GssR*o8aMYNG#%_(al7v$iV(s{jFT!%)7-) z;y$}3!pyXT1|}{V-ONj9?zH7)&FhF0U*FMD`4VI%7Xt$W)awLkbhF<;0t7^Y-P`zN z4d3g%!kL8f2S@`f93gBl2{z;R7N_btek{L{^KrT!Se^l$Mt4s-nqQ9y8EIV;T+)hc z7Q`fMBx<@wQUP|C);os~b)(6S!nP0PK;Z^zgTcZLW-W|{>4ovpX>@rQ9~TYNk1h`r yhtV*37$4?7P&gSdFfcT8NmPT>z~o^xsp2flm|U=#0}{iAsiz*2-_sBtV*mhod)Yw% literal 1332 zcmYdHNlw=?v2=91m2Abpz_5^sfq{XQfq{Wptc9I{fq{{kfq~&s%^BH$Cwh!-&Drvq zfngyd8v_FaNF4(fnt@>@BS@TqVLc;AjVy?O2!PG3;PhGd`lN-=KxXkk?Sm+R zkRba(ERfyEG{PuUJ2XIwAQ)_iP)x2|;}6LfGoL-G1=%5lT#JpgVm diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/libpcsxcore/new_dynarec/new_dynarec.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/libpcsxcore/new_dynarec/new_dynarec.gcda index f9d550687230699cebaa352ec8c1054e48176757..ff3893b6c113846f452096c66fbff6ab64b0d408 100644 GIT binary patch literal 50652 zcmYdHNlw=?v2;Aok~y1!fngyN0|Nsi0|SGT8HYHC$;`mO;OHL5-!J=W-G?vE3m6y{ zGO{t?1It0$85kH=Lh02|dM%V*&j_*u$pl7_9m>;Kl%~3z*_-v~PzT5k9wY_CGs&~t za=vURXYw3}ojy~*{!;+?AI*`(yMZ#5&_H5fU?9#f

Sna6H+->Ub}sa>Hl#|KCC3 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 L1ob0827)jEZsC$X literal 49120 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 literal 8384 zcmYdHNlw=?v2>h%IoXPVfngyN0|Nsq0|NuISPMG?0|O&70|Nuc5yz6djH_1fXf{~F zz_5@Jq=o?wRx(1E>(Rs^dQ(1U7;bUq$s|WFgM(q>!FWbdWW6E~%NQ6KQ0)zZi$mwIS!m=mM1641o{iNX%rQug8YD72f)Oa^&cc$A0%xa% zEjscbvq1Uk7Pxk0V1UsOlQH>(#6fn0+uO%#_(5u6=D}!?7hY8rt9Fs2cbdTs)1$IC zitRS-J^)Iepn8)~eq4{1#yjF-Jf~l5)BChD=sm~`P&}dM7j!-}zA*ADOdOUEH5Q6; zfW%<>VKhh#JBH-L6=-hc5%psTSmY$yaAT;pUUm&)0*r?65G1BJYWraWnjHeU z2GMhV-cl$v+N%t*gAZX887x%0kPHB)@l&008IMD6Kd;fxdjYZwR0hf+DFQJu-47Ba z2BX@&5zU{;vjfzdrzGpCYM(3s*^O>5F*Z<74XRs_%ms&2h(%SxzlNwg4vQ_~2Fk5l zOku8C$q1_VU_4A3l6F_2g}3W!*4ziy_cQfgYMlo80hD$z^%4@nA5OxmqAAlfcpf)u z)m#SIff!dKWG*T4_}%a`ShzH9@4Fk>52Jp9+<;WBlVZsbRf|7t^k2DDt2f5CHMW>t z0)dhda-x z{q~C-y=#tq%<4?Dtf^h>S`A8D6(ARl;$a>F_{*CX{?*BON46G|lb+5v3o|FK(IIQx zDw3PCG=--oj2wGUr2ea2tG%?E9KAc1vCI96{d0{Ry``%*a6GQ@^vWndvPOIFM(`COEHkR12e?Jz06z0Q)09KBoSD@89p(PmfJBisw} zOV4OM1D_{^MG<d14DMr^RS2+cjkXz z=OxO(u#l030RfmNI;!jXBKV9T4d32Q&c5(Z=lsgq``JMnv_K|7)i6$;$hdH#mz?cp zr~pU~q^U8OIqK&Aq@Q0LEAD_aRe>a+YCtXmG2!&)iHye?85t)!sx#i+e3RLpk?9Q6 b#Dxiyt62RQZ%jVPYRm|77~{dos%-55?3pu) delta 232 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 mvpI+`8)nvXh&dnW;Mf| c2??j4+@_(q50*C~hZD>?7!A|Qi_pse039+fkpKVy diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/libpcsxcore/psxcounters.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/libpcsxcore/psxcounters.gcda index b5df5e8efd397d6519729d39542a58fb4028dcee..3fab8ec05eb9a02fb2910e922efdcd8f3cd44df4 100644 GIT binary patch literal 2848 zcmYdHNlw=?v2^VJlQEltfngyN0|Nsi0|SGT8HYHC$;`mO@c6WfkI;trd+v@8ycrl4 zGFmV&Fo4uCfE0j;AwYxt0d*>vBIJGshQ**@U|?Wa3Z<7bvN13)aDa6~!U)7fn7fkE zhJk^hnMgpL7)-!^_G6h6{JjlSn2nv(F>B~HRy1!ey zgYnr+P@3UFN+S?u3=Aw#26~ua3wwytl~AP+JAXq2K_uADrS@IkA9uOt?PxYw0!)(o9V=&x&^|yt`!b@cTM1QII=f;Q+Q3PGGth zl>Xq-7!3UWkn>0gTH;vUglwnkQXVu@u-lmgP4qDJFd9AV_z(dO4!c90l?)%uPyGIQ z^0gDlpHO4a>_q1-W+YDCQbz3Iwww{&SLili=i?8*552inKPFf|{v7@3CAwdriIM>p zKkRS|u!kpH8iRrAhFLI!p?T`jVLyqK#2N2zORq|Vxq%aE223d|>|o-==B4Q{1E6;0 zhUuHgsQfi^xL@=WWEaeDAnRak7)`7lbI|PYvl1*iY%`@Uy?$mh$PNbv28KLtgd&h# zj3FQr6T{SPVui@T_}}ND@*9OA{DaT{!9_zGyS?VS=x9Oe%g4Kp9chtaTlp#~Z*pyD4?FSPMqa%g$TqqO+F%YRUu z3oszU{1DVFFdAeZ2;<_z+=ea8K>9#o0HGoE#UBU0oc zG)x^xEd&$irWr8LK;2|s`#y5-O4o(GhA&z`ZUTh^vFHtF(bs6OQG~~MmC554ss=<4Gx*%Exeu)lxC3p2u?G7)0cTfZdQ!g!T4+@ zD9vy&FfgF0W8i>lf{DXu1_sQqhbUbMjSGmKQz3#N5^U#E`z~+4HvYOD%?3+Ac7n`X z!3&ZGVdBi(0kr{^_N#s$%lAEMtBh>sgM5(5#GAPm&CIjn-3p%?ZJWNY^AZKQlLcfH z2F7$Rq4Wna0unY5Hkbs5jhsh9P~&d7`N($e`oIZRfFQ8jnG205n0gq^zmapgRl-OYcV5n>XtHM54YuvJXp;oB#7!4B-P;X`_P+P#Za(U z;B)k+m*{?hc^hUgJjr26$E3ue0nA`%IsE9bpM>j9SM}S{s}f;u5Jqw+hzaAvXkzn{ zE}C7rVfrSv70V|$+%NhGvJ2VWFn_{mV(l zzF}aPB#qDn5rL2}bvn=_4CA{gLe#_fKF~s0T@IoT7Y&hRV1UW1Le+Z+KxAP2R(=RS zR2D*`lQ4BKaV@Aim^)zZ!WL$T@Pz3`&`HotAqEW|n7N=l2y*H&c6Wb}YMA?Bbg$5b z3XnJ}ND%|Ve_i{6>_Or%buha9+dCzYILsd~8fHF>52G0vAmxoPB-lY(!TF_)_mac( z!>gY48op=&#Vx4(huMKndqTq)Mq>*bkij6oLTHGc(;yrW3AR&G>7Ls+;dHiV=C=MI zJ0(CeP+a2(W#FK;fEqmv3=9Dd&;W+2BczX5w~C;J&%W~Ls*k?BCRY=-zhYom$OsA_ zsFe%}Pa%m~|2nAk1rudph=At}%yJr{3bhQI4iN;A;PBxT-X<42#r<}uwv#!?P9cyC d8itjrpvE6a3dV=gATba|=Mx(adWdjf004(2zij{j diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/libpcsxcore/psxdma.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/libpcsxcore/psxdma.gcda index 8b8f6ba1f43c886c614a5532fe499bfba13b51aa..a718945dd8e2c062e4d6debc33ecb818408f46c8 100644 GIT binary patch literal 1172 zcmYdHNlw=?v2?ugCu24P1H(cl1_lO31_lNvGY)YOlbL~m!E~B{)pO0Jnc~tDzcVl_ zWaMHX1*`-a$H2g_o)Kg=l1@gD**`4r>dKzt(vOV{Pyv}Og`|M?O#E((?#t0rm7mtV zquF2y$Ze?Z$FEm6vOCHt&VVIVv^5T-SB!yyA%T@NAGxrjs)q(7IDSxNRx+}o3ZU^I zVXuYo066ReC4Odz_2%V2PswNpxzT`uf#C_%5>nlYW+B`hn0b$&=E9r+Gap8y>xc0J zpbP<`!)_&`1XK?xl(>hAFi1Vjy)b%0VxSvH9Oh0K4NK1&Fb^>>fW!3ra(&(%t5=n- z+w|lpC`@G-7#Pr<4&%dUkonZbD;b3t7#J?6RDrS>+H(i6Wk zFf3%`Vqjo6%*Fr)FdEFkN~~mr2(M=ZnY|FogPHxq@~*B*RJv|#WPl3DY$=FhlE?)g z>rvFpf;_;$z_1Kq7m7TBgX*>g2=!op>qd4*Ez0L;QewNM4|1Cb0|P@HKSDP?)&((C z*_oh#WME)`(Foa9#52O<2E*R~g zf6xG%xVVRkFi0HcUKl+gG0+Vp4s#cbW?+DXB~rQo$Mg5)`n)?B&)0SjsRk zFf2iYH^?Z4MNqyjn8(0S3gtt&44||PVx!X_G2-w_Mj-|UhRZ2c;FJQh4@Q?pt&;

3&E)QoB-+PRa5KTi&SwS$3S zAtMV&f&l{fAru1x!%C1g1_p-pj36`0K?FpO5o89_>j0H`J(C=7&Dru9WCj}p1H-Wm z>|hn>G`d+%P?JH{g3S8%ZwZ?yll7sJ3qi3Uvji9z7|d45fo+7kn?da$*k}d?=5(+) zOkQBK7g&OQ8<=8%(I7iPZdyO75uzUIF_<|pe>tPM<;||&7KfiOyxP%humt25kY)>r z(HLQ(1d@cvfx~2KS*yd6!lVt8;t#wA>E&QxU|`t-36t%@Az+o2F(6R}hJ6kY8stu} M1T>so5bj|B007oS>;M1& literal 460 zcmYdHNlw=?v2;wknry|uz_5^sfq{XQfq{Wptc9I{fq{{kfq^06g=yM`uL0hZ!(Z)S zU|7h=!hj8|WQ2&WX9Sr6VS`Dq8BDJORFo}ycix(_gh&ccT8CWaplHJZLmg|9mkR&t~0U%D`SAs zAUi>B^0N{w0%`ct2qGC6VCFC|K>T$FA`BwIZh5oow?(y0@s%CT21`J00hzuXVl)HD zOprpD-lK4FNVrZdYjtQ#cb1$ Is3?d602v!da{vGU diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/libpcsxcore/psxhw.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/libpcsxcore/psxhw.gcda index 29f386825ee99e6ab38bb77ada39996d9a10389c..35221c15f1540608d84a6df6988e02feeb9adc4b 100644 GIT binary patch literal 3684 zcmYdHNlw=?v2<+sn=zY#fngyN0|Nsi0|SGT8HYHC$;`mO@FFqB?)Q;YmL1IoOBfgy zGJ@2AFasE@1Sw}=U|0_pPew>Eg7o%%o@uF-xc(MX&Tm1G-YfMhwDb8-@^y zz#$e0w*f+7khsJ#6p|^>!iirat=vz@Ui_}2M0O>k5GC3%^g`0e4zx6)+09e0+1@mN zvBih&ur#9NjG-B;Ktmd;FdI9BKX73Nv7cCSsJI^%A21r>zm<$^3=9mjE0))S#9;C; z8dfgsM~idDB5U@kH`tugmg}zr#km|vGZYIrKo~)w0)&Bq0ajdq3Mi0_5VXW0RvkzW zehl#gZZ(i}dmPOV&vwO>T61)3=Z3mX1o^=Qw*eS3_joach!S8HB}y4iMYOWF{~9#1 zFl?qx8L}BIE*uY?G_F079S~^xxC9gzPDt)};Df|rU|@iy8&py1^XP5wjtvk$Bp5?z z7@vUwlD=ov?gEDdOdLkT^5`+NFs*Y5t*PVsyUS~T)n!na$}li6!2I+cng{zKR>8?n zP;p|_!8PJ!K-`W~8rtqSjOO+mq4R3r9ex~++-5qi-P@7DiXrbAz?zCqX?74deE2@036iFm*5*7RJ12?u@hGV-L7j@F;oB z4i1=IeS9Dj7#PrLh$x6$$p|VF_qYiMfOzQYU~WJchq*x&%?nS9-t=p+Sl z0~e?v2r`&~fdSU!0f~Wxrh^Dj!w^b?(iVgXDI;&df`b7PmJ>2QCHHNeSQ=y6<^eJr z6gcOg_TwrsAm-sF5mun8!6lBW3YmwR4z42%0H=d|t|SJrf(z1?#UJj1+ztwJWZlHE zQSCs|1GXb!$^->Qxun(D>|li|CPbshffF=*LD2*XW2sm1;;Gl)nq#vAR;Ll7(e3zy z7FNf!-CT7peUUl1HE0JYtUyT^ro;u>CWCs10T&-3jv8hvX#No`S!@2#D*h-o|G?}Z zOrzR?q#hhEC%0}%-FM@d7cK25_t!2jPK;Mi5YyZY3NuhSGeH325+ex3zy_r)pfq|s zw88=zn%_1Yo1Z-C{VVhD>%2rkW`ep**76WVIoU8nQ2pKpkp@YE{ciGjrA69vtTsRELu%fo3$xGLDE}=EN zj31o6_E%j7g{2I&okf&+sEj%VqjNZs%ZNU}&1T7;Gbqw&D-~^H~Lh zz%&B`#IE*l@036SFm*7RfdNv6O@g*$VC|kb3qE#zp_<9bYj$wJ?Aq%DGJ$~soo0au zGl1;kVPIg`<0c#c5<*u8a|60K%nki$Zje86TimNAzGP#flN87eTnr2hW*~xrf#DR$ z^9&3O7ol_(R4<}^hT1mEgv!JGm(P{Nu-AEFnZ!>a4UpL&W7>E@u4Z633@!B0X^{UQ zDj;DtAI;2!DH9abC6o1$&0GRigNsHt^Ey;L%$-uN;>DdWyxELw<^^blf{R8svkT44 zW7=-6GDf8~$YwqkgZS(M4jSFe$!KPZmaH|uccbaLh3@>^^$29907MQ+hVI*l(JKyLbA-k$?<2fDu0cwQ5bI5crHz~mViAa0t07H;3=%?fKT zpYTS`8zB7# zWx!IbX9dADIv-#BgEc_o^CnvOd{H|naKXJm3_0u}>XAv@{)ec-?oYin!huq!FFvD% z*|Gg5{zA#u{?NkgpB)Mz$?=sY)J)^Mx~c+P!X@1vtXjAN6z9|`Z}5db^X_JuX4{8% zkjsxa13R!5beh=o^8_vZ=v=v2zrU=yo0@h!MYBWlQ;dh`SNXygMKN$2j@o$`93asA z0bzqlaM`5h_>9r%OyUe=|LrmW%QK+U#D?JuH2-~zW45bkT)c;xcDzKhW4haPnJ0bQ z&mh}z<(U?^*hi;{^~YT_JN(YgQ`}O!rt7chD_2k&2bEYF8&tu81*5?n1_p-K`EFq5 zlBt|vdiS$+VETjgrP!^B~HkQ@XP z=hhVnW5Ma)K_=bj_{0ys$mJ~Ovg_bTgVBV-+_tjO8RUkGZ$Kmi1417p%;%ulS$E{D zrqJ$|o760SXPT7?NU%DrM)n89HOM4!VT7au97Z=YW*B^3{$U%F+DcYXe2OtJFo4=H zAa&pjhSZ)3TL}_Hv};r#Tm~2o>juJTboKbc8e$YAOfz5>L;EyubKW{OY5iYsZW5dZ zawDkzfu$9QK71r`;j$7f9@jjOl3v`+<`-EO{1#*<2RUsMR}S@`qN0B0G=I;- z^ssByfzvGeHwVWfrzLSvfHE*Jz-VIQ=_6X0?M|8-ar?VWEj7%3k7oATl75%>%+s=N z?YuV+6dyuJfw&D)9KuBsp?cB9VG3aKFg~&V{RA}^lqEoEe9yI;5`8P$?pCz0%D~)& zZYQQ)5LCN3iWWZw&wgg#aMr6vHhcRNNNR@B#G1Vq&FuOL6NO8@ zRnEv}`)YzxDgy(ICf4lTXl9pXoruab*j+%6@c+H~uZHuMW7+huD>{8s<@tt0l)4pG z4#H?+!|W|un0Xz2qG}fKt{yo)U}nN-V$FVyW_HZwZhJCz> z|M65%S_8HDUcR0QPLVJgmYUzo!dS$m>qTHwz#?E0uTt+uJo5-S+P8b(ONxo!>t^-!2adH%O{O@&Q&R zdEszNeXky)e1G9FWqZPfG=Y6I5XCe{)vMJDk?r714*{Dk$7lnlbuuP^X=3eIk7mcw7n`|^%KG1E#7Ap_ z{K3P(z~HL__6F2kVkqL`CmUfbIGqIros9pn;QJ=z_&Ed}1cK4T`s*{AznmT|5zz?x zVu5Tnrca1-H%l}#XAT5f@g^(CqkC zzS`Vj|4n{mJ9a{fKqRwaOycagie^Wdp{JA6u5%2?c64n=6euv$AvAGzTtKs9!;US6 za)!I3knOl}D+h-q#M!YH%?{pI&1UMVeQ%KM&Bl9 zU%Q)!(9;>-$n{_WKiE4AQ}^DP?4$LK$aXAN1V;yhoixO37@t@>&Y;q4elU8={ z+}Uf8{R3NL;d~n69~hrl|J*|J&(a%WD$!52up!rr=imiCap~zBnwj7HLQ+ise4mGG zCd9QMk~lL#DxnyhMi+iDGOjCX(?K>Xy49l}N?A#O(&A&!meb|gLE z^r4V+v2x9^lx*bo=uS_FDi}>{I=PM(E~oDE1uDH$%ZkZ8up1PopzMJ#6JiH~#7y6y zxLPR(DTg2=0|QJyE^+j@x`F1Vy^GJw=^K@HRGXm)4@ zPF8c&bGAUXqx*Cq8pIySjIwGSZzbIW54Zp=|c7;DDjcAp`N0!+Jt7u z@e20feR-EHwRo3<^DJak0unZ6n<48JAv|m(abb4{%}$@4MTOn$k_y=DY$Uj#k~lkW zquH5v?tZl3rMO(=`0|+rTYZo2H{$HLjAqB7o~PPXS&Dm+?O?Q{EKQt5vt!D8=jb2u zD{dm&;UJD9Nf5bz;S`!3qFy&S6;2l#A=|NJnJ#)DLHWdm)fO~6+)E154_`jB4B3tk zPVaGegg84^quJ3~!zJ?WP0ll9JNEA5r^t@kXm%VBx~s#l%vXvnEzgKRD24_W8bzGH zmLQA)*Wq1-Cso2`J-PXD(aU^LJxeglpxKI@OPpJf^n%@@>vvMmc5eJBx&HNGAh&?l zPgV2ff|Y%J1*)=49-`MI3j(eCm zY@Pf(gloWla{VbFx!hr9v3;6#F3e9L{j|aO{Y1K*kTqmT`oMmA!mGpftmfaUDONGJ zKz`CgQZV$GxWf$M7wlmGN+0iPlK0-yy0ae?22uQm~XAid9()xb1} zO$^qli3Tfsd9EDkfD*fup}wiT=u9B+E>H)Z^N{KZ4!=-L?|H-qYD zgqdJ>;RZdiunSIS-DVt1? zzd-pHEK3qWoZU!9g6;lWX)SM1(L4A1IxkU>-JrfBk{T$JJhSI?+zfazZP$;y6H2il mv$6GGp%x%fXbKcSa*KzdIU040BjwE0QnKZf{-vijE0C}BZ+g1CPFLNe_u|QCSTs(IRD1GwYDI) za3SOw%%N;)G#bifU|=B5PA!B6u$>>A*B1JlSVo%3#J)zi6QL9ri#R)xbc5~mVJhal zEcWO;HRDn0Q6!JfoGtGQ?#^0b)~ICQ&7VuTH3MM@@9pP zX@J+Y4>xXu!U{Q^A;lFAChj=r!Jz}cF!sDYLC!yQDbru!TXVL22Dy>k_@t(rzRQ~x zN?Nebr)Ik4EZpGss_JGVHO>6B>wKbz8^kCJ(6`*jYRyhNSDC}{|yt`RO z)mgEL(sBcz9XeMo)?dq&-9<|~BtOM?yq}QuutiY}+@7L#9>(WCHOFU+Pc|()Moa&F zi(|GEoOQI9mUc{cn=YgH$~=IUcKDr}r?}d7p3Gm-SFWHmE&~ZzI+M7|Dssx|>8vsK zYtHa2r)F88;QYwz(z3YRJoej$pm36)O9 z?p~XEo0?%h)2virvBs+($J``14dh08)IVz;NJ*cXkWe34 z7W@`uCoD{$Uc^C>mrfNG^)vs6=zpSzU8@e9W>Hd~ypk4aX?N1xh=7(DeOj2kwxr+1 zajCcet)2Jgf#O35M+}fBOkTY0xpq@RfiL<;MGLFUU~yBs;}td^{s&z2NK0*w*KAo7 zmOQ10T@${x=IgAQ;7kv@t}zKZZ7~x&LW^`<@a$)H+0)N)v@pBA!bG9w_3|`Ym|d22 zBC4#Q^BFzD|M%*@8d~cYMA5^p==4pMK_UxdX%S{#N1v#!KBCu23$tS`f3y5@@KufX z^jpcGvWFgZqHp1X)Z+cCC(_f-vS(|nH&2MrJ+IE^4)P~G`%hD*e2-bxV)JVt>@I({ z-r@86J7)*NZsAW+;sW}s`Ub-8#GpSyehXhr8VI|uGYMBtT&cfI#s7FJD6P@5&G%xp z7vH^2d2i`qSK+hY0W2$3^yp#NKY7WRQt4Y_^suY0!c2Pg{2y8LuuH+5Bi4DDP|OBS zwgsTHAwph5lYlPr+MyvlE0ve+>z5gfZhLq4x=NHx(ytHCx66aVjh1=pmdGK2?pvI* z>0wu{=z{QBmnOcV<(Slz+fQ;9<*TdG(vF)_CxiO-v%l;$aV-VK5B@O^^3vzGTOx)X zf)j7jq8*eP&ug-B;->Ec!3ip~a{oiIPZs8N+2ORb|p8c5Q_#Sb&u_)1XF$@uW*x<9mtAE!r4M82i)KBtA*2V1x#PE0u>O3kr0XVCyg zS*gXj)HJjDTdKBJzsD8-gni(7Dq5C-w*2?AzxBMSr-xnl6H2_c*d<&4e0cp8D9zHM z?1=rS7kq2(IssbR(Z|j!z*SY?NJ~5Z&)O&VG*);GE$#SKzS>-K$$mRp+EHfc>GX4Y zN-!<$*sx=Z;Z&#J9JI89_f@mmny_>GXlaLSWuvo8nYu46?QlP77;b3jbuMs!-YQTY zq-ELiuied~`rp4QTGoSk8k~$>Op<45X$RxmRHd@>te0qM$4yn^=!Dnr^63#T6P>iO zt=j(1rKNwC-Vjsy&3Cttn)Tv0zmSyIr}!MHY39N&M#fV<9;51-w36%)rtD_YYDXe95Q${sU%wg8yQ%)s4nOaq=yrvq zi_cEg^GAm6moKuV4>W{v~`~i+4FV&(dQa#b;+xq1fb`*XU_y-nskHW~aB^ zre#UpYt(7pQ|E$x`{-Z|RYh^dQ~c8Gf2F?m z)VlpOE$uiUbXP|p+2%1l({fkgNtMIpi@$$d^fDh*&kp1oWL>|LdXHBx6P4><9|m#@ zX#EtCjVv;h;U3>3ukC<+-JI)B0ZA79d#ml!taFEppPumQu(=BFESh2!a|`4rJu*Un z@MyuE4j^vC9otG%cZtQ(W^30yoaWjBvZq)g_6H2ilvx)1!l4qB{Twl6=?!RIx_vIJ> Dp+7fW diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/libpcsxcore/psxmem.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/libpcsxcore/psxmem.gcda index 45cef99f9f94fddd95a31ad0b6339817dc39a20e..0469de6511a15e9e307d8e47c9ad4a56d0e0fefa 100644 GIT binary patch literal 2060 zcmYdHNlw=?v2~i5I~X1B{07 z7#JpB$%L8>5kcoOFsx(*nc%}z%n4EflZVkTH!VXr4D6<>?Fxoc*>{iUw+9-5+#~?f zjD~e~K?GnlgvY?(dtVU71k(sUs#{>Mchf|2aAz-W-Y zARJlOf-nsv0LQ55V=+P%*vqox&Mw6HIcy(m`ft{rH6 zbb<)TE(r?!O~_4PAA$)~H^I{+G(GH)Ss{_MdiQhWGzH56Fd7twAoi6vagrb-L2P6i zmR={I$VMd_S VFm*5*6c-R35W7M77s6*?007Ohz0Uvu literal 2180 zcmYdHNlw=?v2^sfnry|uz_5^sfq{XQfq{Wptc9I{fq{{kfq`M-roZm8JMynC_?*MX zz_5^!hk+chk`bb7JtN2t2pdd-?I`-cwLFLYyrlb7ha`|4LSQLs5i1$l@EV2PO;_6$ z3c(>$p3V0jTngUkk*2{S_pApy>(_oS{DY0R6Ky-d2s0%Qg#pTd;DXo!A<*)Tqg#;p!D zUfN+ApykjVpAAI^HaV%vtbdsWvReYl{RpMlS?G3RsDg$SJdZ>9=;6VS&XgHS0UKHyxl1R($ zwE7HkvkVd8h%f@=G6W`79HA36uHoShb>j}16%uhwDKnANDk!~z^uuUS+@PQFE^7w)UyOl)feU0X7K}?Ai&7jykT_j3F<%&@0A?PH z28oe|A$eO6p$Y6KP#9D%3+Y1+FPI%L8Wdg-Z4fgQ(ZU7fMsowX>feu-#(=^Flonxn cVKgYbA!a~Gm=WkSOdX6yw;NZIG=%GIaFvR*uN!{ruu^m1PUE0xXumt25P*@=JAk2nnfrOPS)JBlAL17i_&|_D2vt1%9L4M?6U|=ZtDFzBI zhTEGV3Sl%%93qNLBHRoSh1j(KYzkNeY*)O8W%~Kd?{9bfRlWkU3zR-uc7x>^VDwxF zmjOmYxo~+HA3c2p6mPBo$-(r&XjuBVj25?3Pl(F6ui2rx)A@5F$St6}2UCKJMz?di z3^+?e2vDK{IRK0y{^tiJA~2r;?El8gH~sVKJf8gEd!`4nQwc>6L?MiXxdFz9(J*mp z)5v~9PUkRt3DG{Mic~>r(A{Or%bJHx92PIHK#~v)4x^|4PIHCsdMqsI6uKG|MqCg% kFbOjo%s~n}gg7D{f=ZhiO4VSmz~o^x%x(dgK@1EG0L5v3?*IS* literal 1308 zcmYdHNlw=?v2@J7nry|uz_5^sfq{XQfq{Wptc9I{fq{{kfq^07swmISpik{T&K};& zz_5^!gMk>ZoRJN$vXzVw>Gg~tJ0WZ^3AXcD>=|*TiWetB8s^B8Vkg)H2K;7Q?D=EP zwJ+{tROYY4AhUTG7#Lt~$jIS^7=cE@u8nD|H?_rtlxxrpy$6w_uAiMY&7#MsXfl@MphUmv6Vd@Yv2s`noVTfB& zp(z2DU#6ZAm5DfX?8Q#!&y66rfbt70{otY*7*OqeRC7ia+ST zMFQsfwO0kK1KBBql%^3%K_(*7I!v5eG_oH+aqV-eNEKuwy7{)eta;ePVSZ}^NkT9< y9XGYbIKY-8jA diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/libpcsxcore/sio.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/libpcsxcore/sio.gcda index 4a650a58aff73e16ea7134668440750bd7163164..7e5596274daf6608e27feab71483db0295d6122e 100644 GIT binary patch literal 4464 zcmYdHNlw=?v2=9*mob}xfngyN0|Nsi0|SGT8HYHC$;`mOkX#wTC^YNYi)mQ_dJGH; z8Iu?o7(nV6Kng&_C=CuXP*8xvj-E6F!%D^p3=9m-ToTpT>}6TTUL$c`stKddeR}MVEbEhwtNP;oefW06x3FN zxE4~bYe6_55?ro7ojOw~#W2IHEx8ID4&a6pNEWY|Pz6wG;KB*&0Gd;%@u7{d4;+T; zCp9wJxc!>+eVvymC_Y#i7#Pk*LlnVi^mvd)i&N|1_gv@x$g%BcHdq2O10fAE2i1O% z2o!_upIueKHlt>R3bNh<`A`)MsCuOk27~qfp0$x>^6bbGWW6w*=x#=cGl2D`&NDP) z?+!3Q*1IzsrV7GuAw)Z>KZMZqzWbP0yl%_xfM;<#WI+A^ z=MypR5JuB0Agb={%(+DxSuf01bbArvka+CM zvbQ)D{Li~xsq`Gk4;e@bV9f6v5Ed@_KQzGJ^FY+W$fr^e7B2b+Cq({L^wqy88Tfzc2c4S~@R7!85Z5TJGl;BRA?)P6JPJ|$ZFe5%GTP#Z%D zi}j#!DlEcu5JGkP2}EBI+@tBFE2+3|#(c#2H4MU`~0uICVlNy<9+8uo>3D@43$Xkz?D@Y_J4m1}q*y3efdJ#K0t2@9e4ywiz`m zRFL(?rNS&gb^B_VFmxRD_pFU9lV?YkAnOI23?@+Zf`uRi*xuB6hGy*D0Vc?Lm5;$( zj;ePln!UT1J&k1RHF0KH6lMnUuNVUZ1N#(+qLr}_+S3eT*(3-BC(-jII)95PMCnur z#eg1u%OJ*sWWoOMyYaI=LfP&zvOiAC!xW+VV+l+c8h-CS<`u8ovOC~e+zuI#KR|gA z7WQA}gREd+P?!tTglg6zm@w3=KEdUMp8h$Xklj&a0x<*K4~xWMTk>iHqjQg2<~t z{j(oR>p^LVECa(7C<7MPFg{EfI-gLQL6=wYf>?0N8$x$N4TjkV5oKV2r74(vEmU2R z4@AXB2n8o`g%?cxJv7{e;5twlGoajQP#U3bC8G)h1H&|f8{pIqGY>|e2(^j?X@T)! lG)z5ue8AMBi+9Aucw#fhU}s?oHgN_9$oS@RXt;pX008K(&zJxJ diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/libpcsxcore/spu.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/libpcsxcore/spu.gcda index f1725a048e26a6109028d135944bee92bd9cd173..80bf449a3fd78c3e7f7ebcf7ccda0de30b45d271 100644 GIT binary patch delta 37 tcmX@Xbb?7HF(o-&%f!-g$>8 delta 37 scmX@Xbb?7HF(o-&%f!<0&edcq1_p+OObiSRtPBhc%wjF<8)bAD0m-)rtN;K2 diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/plugins/cdrcimg/cdrcimg.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/plugins/cdrcimg/cdrcimg.gcda deleted file mode 100644 index ffc427e27d47b259284ce53e7664c533af966770..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2136 zcmYdHNlw=?v2^@>JK2hXfngyN0|Nsq0|NuISPMG?0|O&70|SH2$rWt(n?IjlGC%() z1H(c_HU@lPIU_`NC6r#z2r?5Q1}4E~PW%5i$b$QC-;QR3B_K0V)evU}*Y@i8c`4Ob zMY4{ngUkp58$U`=Cj^!gh-duqTQ0>E>e-d`<&F33bD+2}qmH8nsVT&zS2f&JQapC~b7`NubUOd@gml$hZm zf7f#Vjt?%Bm=T@2$YSZwS0WdVNpXVW%?3S+Mg$*`4)ND}*z37vQjMO4)1wotY;=x* n!jO-mFhjTnVhnaWyUVv){rDg1MM>QMP3ug^oH9+AOfwh&v(t~1 diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/plugins/dfsound/dma.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/plugins/dfsound/dma.gcda index 516ff2509ffa63f6edc8760e308f68852533147d..c574eced75deb427682fafd5f39eeab1658bde59 100644 GIT binary patch literal 352 zcmYdHNlw=?v2?U$%bd-?z_5^sfq{XMfq}uvj6)p6WM*JsxSUeO{3T&`!-;iAJ~J>Z zWE5jyU|?lH1?YTKSp=^F%7oESE(3zUoRN)zf#JY^hz!UrAQr;>)r>44`I8_L*&S;c zL2m!xF24<=o`GRKnC}7-ga|N#{8AdVPVW7FYc=ivErKAw@Id59B$q>-wHivVh0+i^ HkqrX?5MLj_ literal 352 zcmYdHNlw=?v2@hGm2Abpz_5^sfq{XQfq{Wptc9I{fq{{kfq~(2N)_{$gxw7%)*boG zz_5@}jDdk+5hDW_uz^VihB;8a155xaj!qeu;4fzc8^HpR>42IGGoOKB zH6uu>K|ltq03p7X5#;tC|K+!VB^cI&`8T2ZVSXu%S||5@zqOk7{}w@zUw9Z87(n_! ddSLW{%^)5=yc}xkYAC%HN<-{?3gv-J003`wBpd($ diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/plugins/dfsound/freeze.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/plugins/dfsound/freeze.gcda index 47a5b28dee6dfb5db506087794b2497de9ca8c89..2727a6267589fd322bb12c6ae9ab38491b5dfc62 100644 GIT binary patch literal 1036 zcmYdHNlw=?v2<)@%bd-?z_5^sfq{XMfq}uvj6)p6WM*JsSn=?zel5%H`l}xbjTsmg zGIB5w1D1n~VPIfb4W-vY>Gg~tJCICZ1lf@%^Vy)nK~wzcgJ@Nd9Xue*kraWLPy@j3 z1Mww51d2NRb`~Hk2HUy9V{(v8!~7ejE&t3xb|yj115q%gFdAkzNDdn&B#%uGNDO8^ zhz-IpKY`dF3^Nx-gTz1>#)r`$F=8;W>T#)Kfm#A{w*r(8Q%@`n)dr7C7#~3|XB0wk zsK8py2uf3=8?=^@4X-9hdX9$$2m=E+ZT&4u4!t{X*Q-C_+h>E)78e#XVE%*UCjqz` l{OPz5&93`1I(goe&yU^FY_J4m7f2eBj_{k608$LK7XWtAIKuz{ delta 165 zcmeC-c*3ren39~XWn$@Aa4Xr0fq`Km69WSSD+2=qvseo|0|NsiGXn#|iic6Zw$K;@iHy3j&o_<^fl8BhRkjZoM1|};s zY%+Nk)4GWj0vvyfl0zr%+toQafmvp90;3ejkoz+_c@D|B1ng)wSOPMHX`-(gBLe_U Cia19A diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/plugins/dfsound/nullsnd.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/plugins/dfsound/nullsnd.gcda index e832e24d1ff1a31d362d0d07b4af18dd1f25ad44..451b0a86c7a96e4e85065f189ce3bd8bedc5ac9a 100644 GIT binary patch delta 37 scmZ3&w1i0}F(o-&%f!;Lg*|gN0|UcCCI$uuMg|53Co>N5jWQgJ0Ie1WZ~y=R delta 37 scmZ3&w1i0}F(o-&%f!+#@OH8l0|UcCCI$uuRt5$JX0aCbjWQgJ0J6~sy8r+H diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/plugins/dfsound/out.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/plugins/dfsound/out.gcda index 72ae5e9235aefb7bf5a336dace1cb7c5d0d80241..3520a766e9a87d07d5517a80291b8f4a1f976aaa 100644 GIT binary patch literal 172 zcmYdHNlw=?v2;vl&z#M`z_5^sfq{XMfq}uvj6)p6WM*JsxDY8@_V-%p?8$`^G7Jn0 y83jNR3=jZP3u2+uATeYNlShcHWMpGtU^r;$%nA~N$-`&{hV_gfx9kE*LNNdWS`P;R literal 172 zcmYdHNlw=?v2>KboovOxz_5^sfq{XQfq{Wptc9I{fq{{kfq~&dq-@#WYo)U%7fQ%5 wFf3#gU|?VXsbj!HgXEAgOg%zuB_kUH1H(Z}XOMLm<}om=X9VeqLugN)3K$p` zGIB8>Kmr?rjh(fe5xh4fGPv$8ITZ+e+R^2U|>jw(mqg$bSR%#3aX6(>P)ycP`Uwe zKyePD`9TCI647W-UIGchXqb7!okkBAP#7R%K_~}C!{SR6Dh{Jz@dp)Vm;z%tO$qc_a@OfeZ``0EAXkh5!Hn literal 1476 zcmYdHNlw=?v2d{ir7 zU|7h=#ee{O5(qYS)^bKR>=IDX^^71p-!MYCP&wcxPyzrC4P4s{pI1a#Wj16>5dKLYX`0|SFH3xux#p%|7R z?1YM-x@j6h9vo(~E0)*J-y^(K%k-2L$W40~7#J?$p!`0l|3PU0Bm|=^q3U2X%)P^%Mh_QIm>^?yCEMB3)4E#_Aj3zd|FF^GbKxs@0HIJ}C;}xV108vF;00000 diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/plugins/dfsound/spu.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/plugins/dfsound/spu.gcda index c3b2ce00432994c99ee97bbff663bdc0db7c20a0..6c70c16bee0b3f4ed35698ffb6452eb8680be5a9 100644 GIT binary patch literal 10100 zcmYdHNlw=?v2+Y&&z#M`z_5^sfq{XMfq}uvj6)p6WM*Js(CJQc@i`YQS#|U5eg=kx zj9d&140rh$z`zCI4@gG&m^TF%JBz`$?<$^)4VV#3r-fC@k<2ADVl!%C>o zYDNwQ28M{+>>zD$`3>9nQTPlDYZ+M>7#M!^@7e~EXh?$43=HcTL4H~bH4WycsOIK!FCa1MH@iQ_KrQEdxKxyn2)ma+455j!GoLtq=o=3#Ti- ztDX6h%O37%Hdq336UfQX0A^rdAkNHv5DP&h*q;Hr!_#$FteJ{zCP)&3i8B+T7EFT8 z468a@Aeh4R1=&ne-MJTR9GC!`*~3#7&Q!x=wA1->BgpTdJOVQl7fo!KNP-d}*eV9F zU3rI?%70JTZgJUkS_;T6P#P!34v@Oqy;)@-qtMkeFkp{kE;PIKLT_lX=_DnQYB$JE zTz2e)NP*krh)BNZ+j$aFLQg1aKemxAiJs69)Q?`y{v=Cfl06%Sa&YV+3KA696A2L zvS5Nde|7B(veyrJU*ez`b9HauK z4@QH;uw(4uvI3D2z~QnmG)T%=`Tw0wYu{f0`2p6l#BL_FMG<}k)n~X($L<#-^ zI58vL;vuACIe{=j!~v+Sf$6ce;Qlc}9DA5b#BG&Zw?R^AZN_gIP?&<+0SG;~SmfoY z|J{6CYdn3p>NdXS2iawVG~NKK8esOr(yJA$u!B0~5wvW(1QmysRljqf3ZT@xawr2z zy@m2&^mV8?VZsmvFdD)`ko%ze5F!v3OdMuEjE2Y}NSOPdl)`+7KQD4X>u{KAm^%?B zqO%a`09$c?U@N53z-qE_)|0$sFuCdY_S<5PbG~OV z9NhE>6i&1*d#DkPc5edBVlqC&A%`O@9a%j;2TnS$vEbie9s|S03w2-?OdWE%0=em< zg^nyp0Zbo^#x*`>f|lNDe*Y8VGuiX>@a13NG5}IjfJ`I@6W?Bem`)(wW!qYpOrK}r zoY40K6vve21&E!*rFl@e*7CGFDe(PS39?&&fq?-Lwh)uNpIC-7@(!RF;)Et*kTl^)B zTYV8fHO;(s%2;UoX$?W-u{Bsb5JnRlzJ_RFpz`Kpy+ib^jW1@0p8&-*C|@N(Lls6n zg6ko!zB7WWhm5nE+&P)GAKgabKlS_Ny|GC;zI>FW84)+frVA4X1C4{{T!;e+1|i1sn4 z9f;-;2GIN>BDz4bkoGQ!1;yZS>&=?3*j5+x>butQyC64eKqUt^1(~BI-HnJagXqOy zR?nX zun(LLF7G}eTWrW@{6nfE1mss(KNa0x^7x2+1<_Ajo^G(uV4qYyf7Q=l&2EFmO(}s@ z4z)LJ3Bg%y%_x($&yNX&cCbk`Ob zf+Who0IQ2K5D6J94--EEZFj)oovOxz_5^sfq{XQfq{Wptc9I{fq{{kfq_A%JIUpy$1&xqn`iek zFf3%`Vqjo+qsjmVGGLN{K?F*xu|OCVmqH;7hUJVr3=9kgP+kL+hN(+{^3lZ^7*;Yu zq*gO>FfcHzxU2-`!t@0!cSYedFsx++S^eXGIavJ1&oVI0z_6YXeM2L4M+cswR(G4mEuxBO6`=RzuaTh0+kWA!z}Jx5zIwyQ}g!46AOpe+9V> z6n^K{fno(oB|#=-Zdw3!AuPOBPBAawO1Ru3^XgGP$W1~7?I%S6!mSWp#D&up-__26 zm$z{2Xf{{^auXb5pnq)}0DE69JK{D^Kgj1STT!Z1Fp+#}X* zFOX&k2HWjbAQKcu0&p8CVIbTHF@?DJ`eu5}L5V5*w3kjqILIw}5Y0oBT+Rr}|I~9l zqVERE|D>C{mOwuWd%tN*agy3RM%MRJ7!NdXS2iawVG=6}~rXpoj znZ?j{(iv!`hm|qawW#V$mZ0*DpnMoz1~q39v=D{SsJa*!To$8?K=?3mnEfysB8wnl z?pIm_6T_d!YB(Y4(jXKA%$-m!77CFLu;sBI)sTR~Z4PQ4`(r%IcbmNFt2A|on z)p^pL^uq_1OsoaPC2ZUWRWGGH^3vJ0aPfd8?v3V?!(Z(Hxeb&*VDbB8CoDk`XZB(= ze?QTj=lI6Jvia7WEuTSV$)2Z&FaH9U0hIP>L2d$@j+H>v zQxIwVW8W&-w$>%n=UF%>^gRK^F{OC{VkdEF9u%&%Jnc>je1BGg>;~1Kh_Hp2RGJK- zVQ~eMhtVw13LHiw#~nl`cDKw&i=+0&lTr^I8#R#YGMF7M{r(W6kj8N#0@%%7h-UW2 z$?NQw_O<<|=6HhI;xB33>WlcPY38+4#zNaqYY5tH+I;{NAE5di)((Wx#D?!|v@lS4 z^ReC``qsu5v%^n-%m$@lSm?p%ACN#LdfaLbnjI#0PG;@6qszIb`amzp4sz=|klWx+ z!C=5#i$7mgKmO!z#c=w`0i7TzkXu0cN>~lUFaiRIdY>FOIiQ6P)7A48d%EWaJdB*M z9^@uc!w0_`5akXi-C%l*xPDS^)^x==)3(j|u66t_$c-A91`R?H$eb(b4nu?)L@)j{ zHM6EoVfMC_F-0ByL7=dK4lhBpLP=cxBd9b%3Z@@g>@svh$G~73H4teEEX0JyC$@ZW zLg)jx#V_wZAzN(7XZ%B|BLw6(>W+^f@)6k4IOe(_a$pkdrUv^A_DR+ASN;6e>^4~3 zloD9wP`1dLC0oc{54SZAT=Ni6F&^%FfcGkPk}Hh(9}Uh8Q|j$ z+tK7Vf+`A_A}n-35UeFcT$sVeoMB_SVqMF5v)vLqZ`s-Ng2D_m4h3@pY;6dr9R{*` z0f+!&?ByFm9;^sXAjI*PZ{BbnkaluAlV+8y@s$ECd5$X}w-E>mgl-fTap8ib1)SG; zLocZ5|8VlXHQg~4WVaoX0&XZ9R{u3Xhc;TIArcKR8al>Rq74x*fvQ87Z_$LvS13Yh zG<6-&`G5v~h&*hu&kSf9Y=An*1QdA;3=A)z6>bSEBB9z~@=z{Z9gL5z9wts~8NLp! z3>S};&k?HZxL0*2VjU<9Vd)5AE;%gn;`2j~yBo7rg7yC|rLiElIFV!Zu+>9ym@)tW DW6sys diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/plugins/gpu_unai/gpulib_if.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/plugins/gpu_unai/gpulib_if.gcda new file mode 100644 index 0000000000000000000000000000000000000000..18bc998f63db5138bfbf90bc3a1801cfbb8a0f86 GIT binary patch literal 150840 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 X2uohjrY(a5C}_c$xbTeutA!8%onHEn literal 0 HcmV?d00001 diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/plugins/gpu_unai/old/if.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/plugins/gpu_unai/old/if.gcda new file mode 100644 index 0000000000000000000000000000000000000000..f880ae0c1d9c1aea960fc088a7f13eebf9deec06 GIT binary patch literal 58496 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 diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/plugins/gpulib/gpu.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/plugins/gpulib/gpu.gcda index bfb544b846b90e9ded1f63eaeaa16ba4b84e6527..9b06cf330a4efddcb3408d417293b3538b137c2f 100644 GIT binary patch literal 5196 zcmYdHNlw=?v2eq*8gCaDFO|900rIm9 zLIVR#KOq{X1?nJhxWdFhG)zB;4Z<)!jAme14%NDnfS*@G)vbln5I@}o84AH*KONmX zJK@~X?Ki%!^AZL5348b;?1X5=ZZ<>?OoGi`#_sO_yuj(uLS+s4nesv8p?%JFmV`-9M=#<*u(t+%z+G$bUH~guuOFGzfCW~_XdLe z1PXVEen>tBu@PE8JOqY`!)Oku6pW8f6YIt}Xne!Mz5Uxer72TeQk<69w1C_Q%D*CP zd|=z2LM?&O#M-eQst;y|=7CNh-(4?S{~hhw0J4J%BmuU87=pO;q>kpVg01WFW}o3% zh-@b@wn5YoXD380m;~pu35kJjNEkXz5YhLq+(4huEWeX`8lz;tAxBCkQntmLbH6v&#m}Kb#L|32(X; zy|pA~UOLDwP|kXWW*0giVFbh}2tMKZ6_kHjPbz^^9ZVmLCbiyuh;S!3eLs%3Rxx~} z($!>R;|cPM2?GOz=yFKe?}Aubw~!kqgq6MrHjseu8{%A$ zG2r;$JlEIC)4=l6YWB+wAU}f2agZbk8Ah#gQfS7=rkI2j9xWyXHEm1}(Mq3WvJibYt{WK_CK=nM#ZWs-5 z5hmFvk1B>sJwhDec8E^wZ4p~EH@=)Nm;3G5yT-WRyh$K8g33IIegui`7Eqkwt0SPv zj-ejf07vL2P)9t1v~CgVQR|2g|Nn1=xC&B7*rEAlRs#>0>hx)fO!L#95yVLn| zBgieFD1(`Si$-<>#C_QFSOi28M1uXjY~QRHuenpS7R(KkM7Im12!vsFg4hs@NS7f0 zE`Fo9<7*|f{Y-1@ekQ?yjUx+pYiLeXdCWtI{|EodM zAFK}SW?dsV?Wa|f`c&5gAiF_f9Sm)|1wm<8Jqt_I#D?`2gyX>eZ1=yzspB?P;O&YX zcR+TDFfcH{>OEM$jga3DLOjO+qoG_Rinwstism-Yf02ypI`#k78yuMfa+?$b0|O{- zkqpLQB8-4Y5mFCp&A@1gE)Yqao3|q@1c#?bWOdfZKmL=Lo~=3xax-Wg3Ed6oe2{I( z7?(Uu97eTroOFyJqzwxRiXY2rfPU(9K*ZzO)y1o;_M zPQi)~7%c&H6pRm}L2iUd;kPpuq6kES!};&rtxorwn2&99*&_t96WO0If5Dsyqd}Tc LF>!GmholJrY`vR4 literal 4984 zcmYdHNlw=?v2$`{C&3*$JP&E}QUuotG%c4=f0IBo@L>h#+>eA#z|6Z1ysCcYjB><4YGR zbMS%87Gq#w@Ua2QGjPj8Xc&JT$Z??Xg$Of19nIhYRS)CCXqY=;G;+8=jKJKA7{_UMov6rsB(-NB& zkQ+g1IOW%3u(ByqV2S}o6C08Go0CBP1f|_NXc~mk z=ysoeD2gtG!iUMjXcS2#&Wdl7z`PP2FvWndZ#g3mM2JLkCDeDT84+=T&xo~*h`f)i z4pPp+QYWme-WfDaVpDPQIplQ5Jr!9WG8?8F;Ux;cbqS=dVLhn?F6m(UU^D~6Y8-K~7F_2*Yy**yxG6&O%j0-!m8Q2F*;E*J9RT?S zl%y^)K}xSCP#`ieFyNv=rh;%BTA5n|s-+ni7|>~uS`a?>6@NYesR3bhb^gB~`edN) zg3-k0;bJtuGgvMN;4gB^U^uJ#7UXv|kfnnb6PH$zoDVMZyVo)>E)PH2qY~^e4dh2q z^*RrlFYZAVqw}G{7!*uBh6E0QHPCoM=!2wnP+1Am0+WZ)pmr5V9G0dVL?ID|kcXt{ z2lel^LexRh^a+SEkPz6;9rO+)%fP@;0Cf|Lh6*zv(l8>N zLBRyecQAPv4RRwyFKW588O<$SEWPCs8*GKdmuyUjxdmnh%uO&p#5@M7xn(_?TcV6o zjLxNOKepmU z24v5JEJ&>e(|6nc^Hi=@2VgafXk6T6Td3uNIUM`>HN77n-x=L;vKSJZkQyxT_8mu46_r&hG0Y<1NnF9+3)!vahN(7 zjmy7jAjJ?2c0=axHEwxqk4k16OL>9Z0E=6Q68t2o@jeAD-n&`X2+j_PWmBK(3T}sh z!Wve;i-I@|3=A+Dp%vkOi0iP2bs0hf*q`nGcQ`*4NRK^U;I8^XgRVPy-nyFzlF^+pR% zkI3q*wx)lxEK@~lKyC(g)uF`}+;UJG8N@*s2Z@0&OdLjo#6TFvhtVK02!@pTu<{S) zB$zr};>c|bh&ibBw-?MH=orP)#D%^Mx|l2Ffgo!(rcmgdPb1hsUS@d%m^}j>APv{1|L$d_TNz44>DVb zfq?;}4x|J|gV@+GE_sAFez!b87z%caX1;lNF;CzYyG^?ffZW1@kVj(SHxo%A*vxY~ z1i~a6Qm!1lwf8H?OgRPyhH@?>Rdi+Icl!%yOu^#)aj8Jvwfm~>$l)=Q8{%LXO(?#f zp_y5HzPtM7mphw~)6!F@8g!bF*$#+^28Xpknn-5hM&H(F_oE6xVa)+?Dwyn3<^$6( z0>Q^0CJ8VN3=Cj9%FbmcpW8dPZO<`oiDZQ_ zQD}rXe!Ctc90m4Iap9r>g$o)duEvErfb23uF?G0c@P`eOZ^2=+uu3ISaDQrmkH+6e zps+rHI|*vrJV;IbW|4^q}6_>jDlrXMQ0|L1{IiZ&G&2GWlZcVVxe zAaY<5951`Ql3Aaozn<*!aepAl&0=6FS`nnB85Q@^$Y9-H9**yR`~$g7fPsPG1}IZg zDT_ zWH(3_iH349D3IGQ1X1+icS{CBGuSPf`R3tA!VMSNZQ6YRhC1x-K zN+9_7!^8!u9u}Wv=dzQXKN`HddrVcj_{;)yvEjS()R;eWFC3A=RX#9Ny3L6Mtp%6u2oXqGkKjYjZ*6@sb7EsY1L(bW};SpBMo3!nwu( diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/plugins/gpulib/prim.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/plugins/gpulib/prim.gcda new file mode 100644 index 0000000000000000000000000000000000000000..9edfb23e003f549e3308f56ad90b22706b769b7c GIT binary patch literal 732 zcmYdHNlw=?v2?t^o;jO=fngyN0|Nsi0|SGT8HYHC$;`mOP@|ry9BiC=c^8Ko3j@PK zMiB;DfaM@-85kH=L+Q0pdOah^O-ME}g50!9qp0jNr=LHvn{=UyWT`|mFyMF74}`pJ}Rv@?VASr-_55oCK zk|<34cK$>d0JgJKdwV5+vimCC%y_W>IZ({P#aYhChD!=8zM7E*OrsNP(b5G*I$;0+ Dgrzbd literal 0 HcmV?d00001 diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/plugins/gpulib/vout_pl.gcda b/board/miyoo/profile/musl/libretro-pcsx_rearmed/plugins/gpulib/vout_pl.gcda index 9670cdc3712d98b36d9e06949c21aea7c9aec197..fcab01fca0cdd57c33beba90cfa3b2124df908bc 100644 GIT binary patch literal 1000 zcmYdHNlw=?v2@(Zo;jO=fngyN0|Nsi0|SGT8HYHC$;`mO@UrBU%>_ZnSv#5ymM}0Z zWCW=JVFoZ*2~y6$z_1=H{sb%rCKy3_KZUVr?VV>BVYg}b0gzr6kfC5{h&>SIN=7yY z1_oIsg(MIkY9QDhAU@3O$p}lqW>?K|%l+sU+_%&Db0f%X4lHJ4ngy}z>#Pi0klC2> z5PwWXv+JoyPU>o=z=R3&r{00t1=5cnL+rw>24WYIJlJ1ef6tql`utn*`Tqt-kX>>N z3=D^%ieNO93#V|2!xcao=<3kIeyNezIC{+~|gD$WvnU+JPJe F#Q=I3TGapm diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-19.00/src/Alloc.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-19.00/src/Alloc.gcda deleted file mode 100644 index 5c855b70ab5a99698840fed44c169cc211c83a20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 956 zcmYdHNlw=?v2=WNJK2hXfngyN0|Nsq0|NuISPMG?0|O&70|Ubz!>uu&XZ^XmquF2y z1H(c_kQxR!Sjh-su16Dx=zXkGVt*r#dx6sun--8>Hi%*zywKr<@whz SFf3#gV4wzA&j_*$*(3lI4-5bR diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-19.00/src/Delta.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-19.00/src/Delta.gcda deleted file mode 100644 index b4a94796e2afbf1a38de8dc116c5e9d721f963fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 292 zcmYdHNlw=?v2<*@lWfJnz_5^sfq{XQfq{Wptc9I{fq{{kfq_9r{b173f@P2YRIn*9 zFf3%`W1s}AX9U@SWCGX@SL1b&Tj$?SrllPRm!@d#t!nq29R6wt$R8|7jzBOm+{XX_ DZg3mN diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-19.00/src/LzFind.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-19.00/src/LzFind.gcda deleted file mode 100644 index 3a8ec4d63b959f12edb5b613afc3b9ec15461ab1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4952 zcmYdHNlw=?v2@&YC)tXDfngyN0|Nsq0|NuISPMG?0|O&70|UbgHyhow{GBnMqN@BE z7#1>eFc1TlGeT6Ygwm^_^javro)KghL=Bh(+vTPFq{O#u;i{!2pG-k^@qndBCCIb8 zciAmPSHZgp17UY?RIEk(@!OZ)pOp;<`J0baFQcd@&;Orm{{;9kaag%0PPqtNrBp?d|?MsR;}F*6DJ#90d7I2CLb$79`K@ zsiF6jCz-C%8i;hh<9CUX)}N{J17UYyj)T|TJ(rxFme{m_;*1S%^pF>}Ydu{!JzhAv zM92SM2(m*6uN|aHlINzQBH1n*(tmS(+0n=Xa+3t9){>>3Jh!Tyov;1t#gx-eTqoCo z+$unp-RPRgb4v!3JoBC#9ns&lZGs2dElkH{g>7YitM6nK;0C#c7HQX`Vh2mpd&5Vx zwBt?35kbwC@<(NFELVg4LCbdS%a{u)7JDKO>V%$ILuFbdfb3#H zPl8}RdFk+U^C9hR!h*`QFq=F!D9%XDL*%t8<|6ziBI9UnIy5 zE|QWfA`L*a5$CVp(*LFJDyJP;d1Es($WBtjoD{o)?#OBuwu;a1US7B!WEVBd65cKy z^+k=7&g^J5SOPK|bv$4>BmVe8j4NPw(^|Cg1?=Mu*QQw+)K6Pd|LD!~8ju@AAb~?= z5)se%{X|^+i#e>d|E4SBh%4M6jz@$KgpYsRWy=#1ob>k+1!bB6yFsA=Yv dit8D9|9#ur#d^{~@kL(wfrtJ rz_5^!kAV`fo)KgRk_lit9M@`al;~s?=6m+t0olQZqyUqNVFm*Lr$`iT diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-19.00/src/LzmaDec.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-19.00/src/LzmaDec.gcda deleted file mode 100644 index 3f09bfd0a12485e39b65d16263bc48b1e3ff8b85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3692 zcmYdHNlw=?v2+x@n{36vz_5^sfq{XQfq{Wptc9I{fq{{kfq~(*!`%eIzmXdgvT`F~n^$6X9$C;m7j&kn(u`Gs~N>z>@2v*j}>c955si1YXL zC9YP2+v<|-HtjwDauW+A(9lSPfANP4adsN6Txax+!H4bP!QR6lJIV9kaz^}aSqUuz zRx@Jv(^|B$0ee|-#yGHWMf`+Xt9^f1L2h+I3z?D4rB58Vuof1b+E%h^N3+2aP#mC^ z>4>xmi3{S=VE5r=sSmzR`SUDphYZL}{Ar0iJ2;dx`LdYTr}W>B}YUE zke6l-#i+^73DTNadg|69P`VtbdLI%+#O0-}hCx1|>R$K5XPoy1xtZMZ9AYP;+=lS+ mx8(v)omc<=vn+Iu<)j3V-H#xeM#<3-7!82|4*`ls0Afv5qKV7CYg*Vd)44{x^HwEFE z8@dz|H9o@<5&pJ?%XEA~&!>e6Hqtm)CkAfAXNXn^+Da93VP~^RJV*yv4rR zA7y7Ir8R@>mV#)e6G@(%tKFwpWE5?czBOmdXONrm$2-Cf{OX7cubs?=?)jb(g&iH0 zFF|&5krYx0w+NA>kC0;G+&=ZYpx?oB5(YL1t6SpZMb+QQu(q%UZO02YWqa zGbfk#-zNDkT7=8=SSE(VucxOB!Zb_omj%EXJI!CQ@$xFXR z!oTW1E!lK@m4%rt$o(P^2T_?M&uzaX+PpsBj+;tsT@GnA&3-I_}2g#iGwU&)jJ diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-24.05/src/Alloc.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-24.05/src/Alloc.gcda new file mode 100644 index 0000000000000000000000000000000000000000..048075dc6960650d8729cfbea0500b2f71ca4c9d GIT binary patch literal 904 zcmYdHNlw=?v2+YOm@CNl#A!ydz}F|px%nLC;dmM}0Z zWCW>UfP(Rs+7(sdqbJ~4p3;lIg&AZA7dE4Dijilhf{03N(77dn&amV(=nF-7Jx&)}ef0N^fubTFf%M^_slj#Qr06h<5IsgCw literal 0 HcmV?d00001 diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-24.05/src/CpuArch.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-24.05/src/CpuArch.gcda new file mode 100644 index 0000000000000000000000000000000000000000..0f6e587efa53973ba7e21e0b722d369814d9b483 GIT binary patch literal 292 zcmYdHNlw=?v2?t4Fl8141H(cl1_lO31_p+X-T!z&OlAfKhN6lkoCnkEf9_~DSi-=t zkP)PY0S?xq@fjFFdY-N~aQK_G^$RI_%s$*UGT(1#ONt&7y>5S}7y1uK(eqKkk1fAk JMwLiC3;@ceE8hSB literal 0 HcmV?d00001 diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-24.05/src/Delta.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-24.05/src/Delta.gcda new file mode 100644 index 0000000000000000000000000000000000000000..944779ee1f849ee38c2f1117da7c72cf7336f858 GIT binary patch literal 332 zcmYdHNlw=?v2+wVlroEffngyN0|Nsi0|P_H?ti=>CNl#AgN*vYq%Hj|S?kJ+dKnlN zG72zI1FUBR*@a{hBgigS<8_fvjWVB8Hr?0*vP%p}0ri>K-EeSeik9)q7QM;guXcdk Lz=G9c4805hB2XP- literal 0 HcmV?d00001 diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-24.05/src/LzFind.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-24.05/src/LzFind.gcda new file mode 100644 index 0000000000000000000000000000000000000000..5003c32b728d2c00758e06ac3f556c55f74a6c1f GIT binary patch literal 6572 zcmYdHNlw=?v2?6DlroEffngyN0|Nsi0|P_H?ti=>CNl#AgZN+`V=O0R{|>ls0IBbm$yvb!%(HB;*72^-a?!EE%ld;TOoPnkn% z>N}bZmVoR=bsu^DdEsWG`#LjvXEe9=GLV_{3`;NNCnbUAoKtF@rEh`k=0gf>(wXG> zU;Jc?PTA!RUIXa{7NI596MqRd4x}4SnlhUv<$O8${;X{HK*hzacgjj~wpSzv(hXH7 zo4lq8I7}W$H$3P|7Fw)fS2mDt$P`)>JHc=h+d#Tui`bP4(JSW?&s~0B4N8+zq!$Vl z=pe5=vGsdW%67hxXO_nCDIhnSP~d{WtChU4$>8!)vi?4O&v7Q1GEmqU4PFnD;WF~V zMD&M`sJwH-h5{w098j1zkYV%i(?VWYI_!DkRJdBq^q~D;4^UXz4ZnaP!AInUVN6X; zLdWN4+&xZiuRviqT7H3p9NhL#4ZWxQJo=eCd*gmpP}rz|r3M>8Uc7T!TrsykZx}Ef z{pJyLOYo@Q$pWV(HZ7odW5XL|}J6l6y*8qO~(;It)(Zsb{_fwZl}}JUz3&Og-;dq zaerUuB}#37O%IuFqOHECdvf@z9n?1abn_wYTT9KPX<@d(i3<#iVj>@Jj{6`9ayJLo zxJDNwFYehw`Rn^BgIXSASKR@-_rl3e>LoTPRsf~=#H%B#(42K^{K80 zK>na*p5yJ(QP1BN&5dgu7=OGX#=EiC0c+95y|Isj7uvUqi+3G#d-P^`4amPDkO-kN ziO5Iz{X|?ks4{eBR=VqW30Js59FGVe2p|7^z}h?Qwo|{g-l3+Mie|wfACLccdhjCj T5-4oR%YTTlBTqlUFl7J$yVaBD literal 0 HcmV?d00001 diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-19.00/src/LzmaDec.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-24.05/src/LzmaDec.gcda similarity index 60% rename from board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-19.00/src/LzmaDec.gcda rename to board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-24.05/src/LzmaDec.gcda index 3f09bfd0a12485e39b65d16263bc48b1e3ff8b85..e03f576e9845020a4658b44146c18cbff3e56cff 100644 GIT binary patch delta 290 zcmaDO(<7^sn39~XWn$?#{ZPs*1_p+OObiSRj0_A69lQVWf|$$<3=GDt+fycO()uw` zX9dgRV6pWRZ!BP8e^k73at-4T7MFhyu1v0ADqvBuP!*s2hADyN)l%b~lLMG1@J@A# zFtFRS`v3#OLPnO!iOlko4H#V}2e7bk+}Uh;0P*r|ZU6uP delta 287 zcmeB?eIuijn39~XWn$?ldN=HC zwz_1yO}h^;Ff3$bnViThKiPoMWpV%u3&%GGAGU`Fdk;@Eu$erAC4+ZG{DfMoeScU% zDxEe9vhp%cp2m_k`2rgY%c*T8t0v!I3*dP0b;_S-aXVxte_)CbBLe_(k!lhE diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-24.05/src/LzmaEnc.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-24.05/src/LzmaEnc.gcda new file mode 100644 index 0000000000000000000000000000000000000000..7290ae4a8cec822b0b45b445f06555e716acdcfe GIT binary patch literal 8728 zcmYdHNlw=?v2-jtmNJWhfngyN0|Nsi0|P_H?ti=>CNl#A!@7GS!9Vt{e&AN^>chaW zkWqwz7GOEZS_TG&m5gk7jb9B_w-!pTX9T$!Ned&$%^zjrZ6@uqX;q&hkOp!yACdyn znFzN*^b+TWmgY@d(ybydb~GC-0l5Lyo#dH0D}Ix(g!K7sKVJQg0-4DHaS#ELJiG2c zC={?z6;Ut{*4asGyZ$auHsinC^l*mhT{Dnf)QT@^q@{#&ACm4@Xe_9SPYD6JjfX&J zW0xi`4g`g3>-hXbC)sVdqz+oLw+`F$6A{w!{X49HIWW-cd?Uspo& z>1syoZeNR*f3fH1Nf)DY4X=C-rDk6GdRAFkwupNXXXkoTZ zs7Tc5O>Y&yoY{676hG9;E2Q{OPQ_MLbY)D_dY9LFAUDu6PfR;CA$?oyLz9_FY0V(J zr63Nc6N$)c5DSS*57U)J#TCNVZ$J2V<1~<)wIG^@2#N6X&~i6%akKrAnq{QlX>Zoa znQuXHvuTLL%BV9(Lx6AyAo8vXVZ{TWg19_d?LNK2_e1->TXVL22IWygZ4!t_sMDAD zth-CBc1-tnZuGekDbn+8$sbmsv98TL7ZJWiIW_cG!~Wr+gIEPvP%G>nL-i~hY*8^a|>fe zA5-S)ukn+^U+n<71$+CKJhPu)yA{1|YpBtTsA6l7*|hGHlj85SJstX*4NJu5E@He4 za+@4P^8k_Lg)jfkk9BT=*XRBGJ(mmQho}K^{m8Ty5obfW&YJt}dmw+Yo_l%7B_mK8 zx-&8(bJW+PAuxa;fGA4_wjLs`&9LF3h4b;%(ia5`ZO(zp3|h983fI>}x>R+qwZ4B6 zJmyO6w$ebfcklZ0hIMG>?0z#}^d~6%sO2a8?O^JRaX!+l5@wq>&zTnO#mK#-+(+H> zF3KNXoCyjSg#pZw2&)l!6Cy@j9&s&eiJtL)c4404DhrTbXqiVmeZQHvZ)t8=rYDpS zvWuE+_;X@`*-JYvDQdM}ssWizOMlF9zb&}>U|R+~!c1aixt-rh2_bsebuq_ZG;4#@ zZKowREub*OpHIn4Z-I%uN-r30OpXM-m7dgS5qH~zGT zh-d6&2yydZv)Q8TmbEt=9Y{AQF^I^%sgeGN%MFl7L--fM$Dgi$Nwj&{&tY?*#eA8? nIsq3xyONCp7ToheX-f^_pg~HKmo|miZ2i7W*r`XQIAH()DkkCF literal 0 HcmV?d00001 diff --git a/board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-19.00/src/Sort.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-24.05/src/Sort.gcda similarity index 64% rename from board/miyoo/profile/musl/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-19.00/src/Sort.gcda rename to board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/lzma-24.05/src/Sort.gcda index 51acbc61dda5a6e044efdb4e6f7dc80d071da6fa..e323e71e40a3a8c2085914888e6ab641e8c518ec 100644 GIT binary patch delta 69 zcmaFC^nytzF(o-&%f!;r;zY_U1_p+OObiSRj0_A69lQVWf|$$<3=ApTdepW|uRc8S W!gO9nkU-J75Z52Grq7&sVFm!T7Zy$c delta 69 zcmaFC^nytzF(o-&%f!<0`kiDe1_p+OObiSRtPBhc%wjF<3=9m6%nS?+DcgF~R+;ub XoOoe6FIb@HT!`z1C!2XEUYG#@fg}`g diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13/adler32.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13/adler32.gcda deleted file mode 100644 index 94118deaf6c1ef9cc834c037acb54dfebe55ae22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 428 zcmYdHNlw=?v2@J2mTbkqz_5^sfq{XQfq{Wptc9I{fq{{kfq@}s<&z4-^KMUfG#e~o zU|7fqQo{fT>(TfSJuFHSG}iAurAvyQ6{2%1e>$F?da-7wGRPhtxE-W0u)F8#=c20j io^L!!anF=DJymrTrhoKZzyATbM~W0@P^=ci9}EEInk`HK diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13/compress.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13/compress.gcda deleted file mode 100644 index 2a66714fda1f97d6c5ecb1f55b2199e3f5d5ccd4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 268 zcmYdHNlw=?v2~_G!Zqx1qAhTGI6d;(`^*ZoWq%E5gnn{k{x~KyE zGqo3)$R1YXJPnxJ8N{W9(o(3``l$f}+PJ4O=}JMZ73aCUwmUgXM?nx| zCJ$kQu&BUp_Ev6#Qk!GCA{JU&W+1aUu;|1T!fsY#=j06E-cvLFom_AYWELByMkEpJ zX8e5IA}=&C{Ey8F)-aG6)b#80|4W#vg@Q!qeciVlWHvS8COR@ABPsCa=W-^Ommo7K z2|u@_sgBu<<})b?zv@HLBA0^CuD|^B@<)(+w2(r4@H4Tei6YCjPJWt`MK>RGm;&+> zE%I&dJ|>rUO6$9NcL;TY?4U;4P`kMr>>d&u}7n=SLBuB4I&Oz==8zn9^9$^0oveyZ#y(3i+dwBDl7GMc`mG#Ww Mei1m#NGt~#0Gq3X#sB~S diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13/gzread.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13/gzread.gcda deleted file mode 100644 index 2d97bb8fc26ebcb23479d45e47d6eb3f193949e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2548 zcmYdHNlw=?v2^@=J=uzZfngyN0|Nsq0|NuISPMG?0|O&70|SF~*CY0W76<+8*ej|S z7#1=LF;EjMXM~ux8cMH)((4&PZh^>wNw8b~=^S;sYrOC*hfn!OkXv}bQlt{3*;ya_ zBW1<<-qTxGO!JyU6iVinca<#C zW&E!Oa+3xwV+WNuZS(hOgDLz>%?E^;-xU{w!bE^7ekUznR(>oJ7M;iXy>`a6DIhn< zFbo7B&CRndjKkFqnoio+#l``0v(i8~8K<43`6cc>L;Z_IQ#5p&@-7WVztFONdw8UV ltzNDs{_g#ccR+rpXZgNB!$<3Ytlg{pQsvnoyXl%PD&3By7qIsW?$ z3=0`$7zP3?XN1_g8cMH)((4&PZidK#NwAyG&aNmZjw*gBxHWCaxY=CsU$Wtc>UTFa zboxNyEClurwFuI}Z{Nj(<<3^W%tv-qU;Ym=Qwgh? z10}eekqxias~NF}!CJKRhdn(WiN2d%dtQupuLkFKkl%Um+J#G!wD7)upr=|i=+zdT z<7VqYc1qwfma5{Uxlyjz$1MMew%GS`;TJ(}q;{GoFPw=hW4`V)4@pRQ8J5@N%mH#c zA4TCvTDV=8JyP;&6ULmc56{&H@!8}Hm}X9aPV5bd*Yi1N@q5L!iL&uik9Vs z--@;2^M34bU97Mx9prX1dPfai?ISJCAJBLaBYWMIrT)r)8&KGY(8R4oyNLk+vk`*I diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13/inffast.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13/inffast.gcda deleted file mode 100644 index 755c3d04696d097d39ae4ef93e61a02abe685cef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 356 zcmYdHNlw=?v2=WJBiV|9fngyN0|Nsq0|NuISPMG?0|O&7NKiRCecMmQiDwlbIx{dV zWOQR-U`RV?%m4y&*2ID+hQ$tyVEQ4LWMFuA5u}rWVY?bc0K#Kn$k@gO5g1@{HLon# z1qnAjX1kQWPtvQL5hAwej(s3O0dkqxgo zD;b6G%9AR&8b>-?iijdBJC1{e)<4@@1iKP2Mz=|V(Yv>`N%41tCVr!7QX9fX2OGsHmc zfeFCsvRJ49x_lc{+zU#>C^Ta*%uRwSEQ8YM=A!eV$}p&3J0KoFR}b?ah6XALv_Pz7 zfYGEH3)2Uqp~k_@gNeh;Md!oB3DGcfVf7n~MmGForqZt@hL)%e@z=jfU&swm#Gyb=O^MUD+Ty}sILomXB5I%N0 qN+FUU5^Tq^=X`RDd_9CN=;+-C*&zUuA%G{MC2Vv)vHmSavIhV;Ao$h* diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13/inftrees.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13/inftrees.gcda deleted file mode 100644 index a92c5e465208996fce89c7b53e111574ed84038b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 348 zcmYdHNlw=?v2^@+BiV|9fngyN0|Nsq0|NuISPMG?0|O&70|SGYo1MB;(b<1ZcLbvu z7#1?RFfcF(lrVt7dLfVs1_novY6b>|&zfLiIH3m>FXV*_ff?s>z!V12mkJSbI1O?M z0|U(bYzUVDorb7pVEBI+qTqNEL?k8wLT?md0W)CoFdF9G^V(o(hWe!tIs>Ad;jbBl We})4>qm!);=pySGK`tmq5(WS@vm;CZ diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13/trees.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13/trees.gcda deleted file mode 100644 index e3d994be82a3360ae1beb61a9ae0e289fa43988e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2536 zcmYdHNlw=?v2=93nQXN1agZMwVXkeIi$H<m~re6EJV`n@gYAh%L8zBNiW zTRxQ(G*Paea~5Q_4pHtOY>G$=&l}qlx$oX>jS6~dAqes_2T|T3&5q;=UUL4nYkloD z?LGjqg9WP{q?uV9D8Tu0@~+!PZgZqTW)kae{OM&iBX+l~MJpe$mlqis&k9fc-p;x1 zulT<;{!X>18dxlQZQ9tf4@rocf@Q`X9SUqWWuFhgr_PZoK;k&kkG0090 zuo;7$AkB~Lho8hTUhsLMS|P&*@}n3{y+@kcqNf@fv@0;}XHZQ(4RV_dP2GmeaMIk& zUuVQ2ufTC+8pq$YAUAX2G8U^iX?Fek+xGMGp+;>q$uY jfZRNg?SrkJ+f_g8+4Ox%s!cw~EyR|!kfh!GueuPfngyN0|Nsq0|NuISPMG?0|O&70|SG7ki5n2l;7z)nhlmP zFf3#QsbPSF^=N#E9)6}Nd@-&H&d7RL(DW3-`4By73lo_yY)X(t)`L)j-5%!+F?{Qd UO3#p@$3@Ul(eR}pH<5Z600+Ay{{R30 diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.3.1/adler32.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.3.1/adler32.gcda new file mode 100644 index 0000000000000000000000000000000000000000..05a5db237576c618b12cb55ede7b706e02bd5cf7 GIT binary patch literal 428 zcmYdHNlw=?v2@(HIb{|D1H(cl1_lO31_p+X-T!z&OlAfKhMbj8D(qPaNey{EqG_dg)_NRi?Uiq&HHg8=~fWGr|9 literal 0 HcmV?d00001 diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.3.1/compress.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.3.1/compress.gcda new file mode 100644 index 0000000000000000000000000000000000000000..092520955c5681ae4ebbe01c9215b50d5862ede2 GIT binary patch literal 268 zcmYdHNlw=?v2@hkk}`{dfngyN0|Nsi0|P_H?ti=>CNl#AL&kGKl}x7>1v{DzmM}0Z zWCW>UfP?jDd}CJ}zwjO^ literal 0 HcmV?d00001 diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.3.1/crc32.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.3.1/crc32.gcda new file mode 100644 index 0000000000000000000000000000000000000000..1c2ce9c98e1057d5e3a9ab271f893f7ee31143a3 GIT binary patch literal 724 zcmYdHNlw=?v2<+Ok}`{dfngyN0|Nsi0|P_H?ti=>CNl#ALtA^KOz;}Zj=)?wGX{o* zj2sNafc1OK;^RPTvOpe~Vr~-Yn z7&jYo^nTYYDOhM-_H${gNCe2uTnL8}!NTsBw_6tH9XI>AV@I>W5|EjwVTD~!0mJOt zQ;`kFmnpp21kxizgzeNao&EOi51HGO=_t*qSnnfq`Km69WSSBLf3N$L@c;ASN>d1H%?JZjYZEdpjoT zJmIi8P^`2o?484A3C0{ojv}5GH9J!^fz3TkQy6(>3VmW~{eGu%>D0bYnW!!vAN~ z?8js_If0vn<(}I5<(o6OKQOY$NtEo`9K)-?$YP*cptHGwZwm{@ipf%Of!o^{C))_m z;7wjE7&JwG3J1s#rHPKcATtD2+NK)t-;i0^y}WQeNP=aeqbNv%eCzAXzFX?sZzk5N)-0Xc_i6J22^Pl5 z2CO=QZz0P~ zBL5fJPyWIFM(~!oZft4jvX~vs21`KNm?l3IDCU?xDP87lrtC?$yWP^s z2LxvD=DplAFG%i3AxN3RM90?2eoST@Ds58@M5=`ICmRSwuo!zkNm<+@#K>Z{TR3v^ z1mOyn>t8PXpUfkY!BTBIZT{p6kpzy@fwm2iWx;PJ3y36e#6P}UAfDuwH~EZc2TSah zoWGNKL<}Z>5J(a9_Vd&Dn7?Z>&-MBZAPeOtI@V5pCy>Um_drpx_SFaJlV6B$VA&EJ sd}i|;i4BY_tDeTGOb(C=5o~(L#>cB>HDjCVvG*X2T$2|H$1ySh0L00r+yDRo diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13/gzclose.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.3.1/gzclose.gcda similarity index 54% rename from board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13/gzclose.gcda rename to board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.3.1/gzclose.gcda index fe5cf0c6206f7c6341c97541558f2270650835c6..2c1c563ef4942e5552537f0398c2a9fc49bc8885 100644 GIT binary patch delta 50 zcmXRZ(Me26PS-NAbnM!iGK+zMVIdO(0|O%i14GB|f4m?jGXn#|5B2BPE-#KaOw{oJ E0A7#|B>(^b delta 50 zcmXRZ(Me26PS-NAbewcO*@}UIVIdO(0|P4q0|T>I3p)b?10yp71H%vX=hlJytYs(a GcmMz|CJTQ6 diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.3.1/gzlib.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.3.1/gzlib.gcda new file mode 100644 index 0000000000000000000000000000000000000000..8cfe7f86d1f6da29296733738b302524e1af1778 GIT binary patch literal 1768 zcmYdHNlw=?v2?t;HDwk91H(cl1_lO31_p+X-T!z&OlAfK2H~}lN;|esk=fB~u!MnO zAtOi)101YJ<1;XV^eo~Fsag1W&Gpb1Y70Pm_~7cvVPLo8`}1*&{DckVD{NM{V80|0s^Unh43oXaOi?~z++a&?B~F^vb}u8a>+RSpsu&m+ zG72$J6D$W=$H2g_8cMH)((4&PZb7n%5#*MCI!B#)V-!zu_>_MHxrGNw0r5=I?5q#| zkz#RlYxvjyN6kQXDiCiG4OK2@WW#IvYDN~U@@vt;6?-@z738U}nfdYB{WIrIf&8q5 z)vSRMBrX1Y&b~0a?)87F-KO0KKz_jHW^1r@o&HzX-CM+WC>ZJVjjo{ohq<6mWBwbHDAOX&|?YP!w*sG?NydOZwKZdHvV# z(`Edx26B@IE@KCkIBoO4K;b2(32CpSnBNr_gTh3BDt;#|UM_~sm5I#w7E?Rp+7yr* zWT@f>QVk)^&C^n9t?##QsNdJc#sPBkP%bw=O~^3ix?pruw<+(^VDt+u>p#x(Ol;@p jURrtg{>M8YztgjPPtJM3UfCwXm|v?C!FJnD6JpFM`}i?KDqbI1^XaeBEarqHyC# zNM4gO2gvPw6on&c;U;@&gX-N^B}+5YE#H9b)}qL6dTXX_UK4u9DZ zp>~?0WjXOaGSdBSd_4DJgd1H%Em$pITzZ(^IM Z)4`(l*=^y*9SUqL4o-&JpfngyN0|Nsi0|P_H?ti=>CNoG-IXb-I}G4$Gf;*o^GtVEF697qaqGs&~7 zpYy#L+Y(u3wzYFt)7q}~_fvzp<#_keBFq$cb37i3X0t62%0311hXn3`qN2=lMmD^r ztz;C!D^IHAY8>foEm}Ilp02nG&O|(XyIgu2gGx0hjA)sz+`WwgpGeHyIn%K18OSar zQoTx3_2lIh7ZLl!sn;z(EWP6{2J#dBxF^pJN0*b95d~elmEZpe1KA-$lW-uG#d`cQdm-lzt&Zj-Mc| zTuG+ih^r4YpRlR@l-Z#3bnA?1AUEED)*cYMN6FC;7!85Z5Eu=C(GVC70osMY;B3G6 z=BvoKG^(9A^2D73)Ha}Qe`7h7`!6dA^p{qX*^XLEz+CKYKgp!q1uLBH1)6xRybcOG z^4h25wWW8MJjzq6|C(aAY4-t;-P9aEXtzIPw68Iu=FlyFa36wRePKx6qitK**R-O1 z^8I_IG9@eIK;cH~{t^B@9&zpWvVWHyuImK9dez*h3vx4lGs#O&+jrFS?@eP=t|X`|`)bL} literal 0 HcmV?d00001 diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.3.1/inftrees.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.3.1/inftrees.gcda new file mode 100644 index 0000000000000000000000000000000000000000..fae1ad4ff025f0f10fd2c66fdf2b5bc98ff2ceb1 GIT binary patch literal 348 zcmYdHNlw=?v2=9bkur;cfngyN0|Nsi0|P_H?ti=>CNl#AgP5D0`m;Mc51Q@>Ml&!h SWOQK|1(+eQo)Hvw$l?I^J`OAZ literal 0 HcmV?d00001 diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.3.1/trees.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.3.1/trees.gcda new file mode 100644 index 0000000000000000000000000000000000000000..1aa150a034f8be3bfdce44ca8f85dfeb23b37557 GIT binary patch literal 2536 zcmYdHNlw=?v2={tkur;cfngyN0|Nsi0|P_H?ti=>CNl#AgD8to=D~BGH`niNF=t>{ z$jHWk4=e|1XJBAh4W-vY>Gg~tvypT%g3Q(^-E1ku>}H@`J?AXQY#k&8Lx)M4pLb`k zFN!S8<4;$OV+8qGh^ihX%`FEf>*uC9E1#_M4GaRgMT)9!A!Hb7ZoRQRk^41+xO31` z3qg=uIS3gKmM6`Q^AK_0J4JxYz8_(nwiCc0-Q|W=Y2AAnwz5d_A;TU#&Z=djaGo0dy~t#V0LX)@?HjJe;4$!2Km&5#$CQ zI@sCfzRCY~v!?TRZ3$zLof>4>NpDT0g=^F13DN#L_it6LkYNM)QH-X}CCzQ`0}hyp z(%h_|!(ZcXwuwL2*t2!0xOvOcLzZv0mEF*jkn#b!c_8bU zt)AOe4`ntinUZRg4{{5!?;d7jF}rF5F9 eic`_^->X4(;V-92GkZmyx9l^41+S=VHUj`vWuH<2 literal 0 HcmV?d00001 diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13/uncompr.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.3.1/uncompr.gcda similarity index 51% rename from board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.2.13/uncompr.gcda rename to board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zlib-1.3.1/uncompr.gcda index d6513161a25cac8529ea0164f200fe5807630c57..88a1998c1c42e61e50adab37010a060ae1581131 100644 GIT binary patch delta 60 zcmeBR>R{4IOi51HGO=`AzawQ90|UcCCI$uuMg|6kj@|!wK}==_1_sa8`32j#Kd+sr OW5FWQJ8|p8j0FJc4iUQm delta 60 zcmeBR>R{4IOi51HGO=`QyP0goz`(GOiGhKEm4ShQS*(Sffq{XMnSp`9vvq#K@@F?| QChAzQ=&CNl#AgME;^MHH+4k{!(kOBfgy zGJ@1Fz`=SnJ_9324?oiszGurL=aZsGZDAsFM9iT*-`9DGg6v^|+kwo$ZlCjp7`}A{ UX>Fv~=OXB+7;vXxEs=T{0QMgzEdT%j literal 0 HcmV?d00001 diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zstd-1.5.6/lib/common/entropy_common.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zstd-1.5.6/lib/common/entropy_common.gcda new file mode 100644 index 0000000000000000000000000000000000000000..5d12a943b61898d0b21876062ae2e7a2dcc14e64 GIT binary patch literal 1648 zcmYdHNlw=?v2@&UB4ri>1H(cl1_lO31_p+X-T!z&OlAfK1~-oW=?&U^_VB5iQ(#Nmhzs`JOMQsNv3o3(SLVzSMh74YT^P+DzCOxU#5W cmb>@@+2%8=N~mF0mg^aZc4m$X6q>~V0F2j)V*mgE literal 0 HcmV?d00001 diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zstd-1.5.6/lib/common/error_private.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zstd-1.5.6/lib/common/error_private.gcda new file mode 100644 index 0000000000000000000000000000000000000000..71a44ac95464d2c18330cc8f19a55925f77e0f7e GIT binary patch literal 92 zcmYdHNlw=?v2;9mGG!J61H(cl1_lO31_p+X-T!z&OlAfK2G3Ce{5|z)C|%) z520a{H5vkR4gu_GwCZ^*(*>Pn&g7);2A8eAS0DPR8Ouw!fzr1UoqdGgI_&;c4c{Go z_5ZG=JDLrafZU9l=dtTCnDR%SQU2PqwIvDrL3)JnTTG%Xb~|^uWd*R-epe>aoeTil C+Cty} literal 0 HcmV?d00001 diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zstd-1.5.6/lib/common/xxhash.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zstd-1.5.6/lib/common/xxhash.gcda new file mode 100644 index 0000000000000000000000000000000000000000..88d5c9f6b9995c08a27b3d64093156c818af5480 GIT binary patch literal 2340 zcmYdHNlw=?v2=_%oidAofngyN0|Nsi0|P_H?ti=>CNl#A19O%^0gL&Jh#k!aOBfgy zGJ@1Fz`=5mas~#5)lhmZlwOafj)4(m)=HLFRe$z|{GoU3W^5B!kDYur94W}GP0()Eq z`$xHzb**-zMqI^gm~5tMee4M}%yQhEtD~j#*OVG&Y4^oP8#X+2qJ~)~|KAhaD1G)J zHOvax;NXAghuuEU!>qY6%{Cdqde5j?#;{M*W6bdgnJiME`56?xBe{&J-z%phQ*EL} zjks#KbUAT(;h`*Qm^JsJZnbTTPy#i~sw}^o-FT_=8#T=O61S<8wfGD-HOw-4rlo#o tk$2lblrg?lqH!&MdrZqKiex}}fCExM5g!m1UT*>;9tHsS$T0-~ literal 0 HcmV?d00001 diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zstd-1.5.6/lib/decompress/huf_decompress.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zstd-1.5.6/lib/decompress/huf_decompress.gcda new file mode 100644 index 0000000000000000000000000000000000000000..53a0919d373ad118a2a6a28ff1e8b16202701994 GIT binary patch literal 5648 zcmYdHNlw=?v2?s~CS?`_1H(cl1_lO31_p+X-T!z&OlAfKh8@?p2$pQBo+ayeFPVX1 zA)^<=C?GxrmV<(mfq`K)lwJ#^*E52`8p#|+P*}@a&hVMz99_wyXY(Bt)(%JtMlO@I zFx>FwuJXJEn+4X|FYf_`AsLstr^7A^3a z53-Av=|_H!RCb?3^LcutRlADwvIXfG4o806X9M|516l%OjfPRd(GVC7fzc2c@DL!a zK5p2&f}t#M; zP+jrNT9p5!=e6sg@B(*G2RO7wtsf16(GVEO5Fo9*+RPmoC?Mz6?K|83E~pIA8c3&; zY&U6swRZcQVV#Q*>aH{N^z literal 0 HcmV?d00001 diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zstd-1.5.6/lib/decompress/zstd_ddict.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/deps/zstd-1.5.6/lib/decompress/zstd_ddict.gcda new file mode 100644 index 0000000000000000000000000000000000000000..01e9f3159d022da62d4fe1abab40e65e02f6c98b GIT binary patch literal 1644 zcmYdHNlw=?v2?UQn=*@mfngyN0|Nsi0|P_H?ti=>CNl#A!wVHn+cR?)HFYm9T+hI; zkdcJ}8(0p~#=yX^5=yUz(rcmgdPb1hNIDroW-pk`%e_}#A~RrHk_*UeHY5d@O!Dk_ zn*1urKlb39@9VroL3U8n{gH3C_*sOLxL`ZQsTn=UserM zWO+X8^Lw}4sNrV(afV0_*u#A-TDriVPT1aC)*YR7Wv<<(-3LH!#%>lO{2*aMTzH5I z?Wj3iGBcSLW_Lzis_=f!Be|A!o<7Lk0uYB$NFw}+KkSL~zx$f}Y%7V$pMTkWF$K9% zh(gz)YG2NX-;FB?$gjpx-Vm2=ejl=BFn!MUvHz|^Dadcs4u6PWi3{f=YtJy`r~G7; wc~o-<CNl#A!&J`;b?V%Fsx+cAqJqz?X- zP~G~n5M=fNh~`mpGz3O)2rOrmpo{OxFE^-DeywHXAj+TE%cYB1-;4f>BZS%Y-_RoA`*e4y!uy++ZdgkXe5~YsIs;9Wo#{5ULj; zRJ^1dZdj@%|DI2L+5P&rlcJMvU4E)zdO1`V{)1nGcDSEkCuJNW3z5B zRiEk#Zc`Fh50Dp+veNIJmmN$^ZGWX!2?|pYnq(yM+{XR;eeTQC>r#SVe9#BEjh5lC zWc7LmffZ|G5_pr2fb1f#&p@6(Wfq>Y@pF%=df1z%N^iRh;*Y4y8&6m{5dQXi@9aIX z=GhJI#jPzMf77Bae!qVgm;0LR2wK|V*0a!hVqj)4Wci0ww-g=7`W^+s|i+Z6Yd41^}cQH`h(jspi@Ukr8+SWUb7Vf{4T_MswUnYVU zW}h{f!ohRjxPg{s!jt!Q!i}AU?`awS8(#LBGaY^V`l+`PxZW7Z_E1qmm-UVV#y$Oh z5)VP?jh>kRk_i4rp#+2TI8L%mGf%XC~Wk&|dW9#(Js`beFJn*>jPzaaKYwWeoN1i|9 zH1B8yrAKP#dHih^L|KWw-ACM7nYm|pLRsq%&!oqgIR9K1$u$1-6|^WDzNJ=KWC$8f zbd#yR1d0nINP-_G{@1@hJbBJF0``a;Kfa4<%S_D7Ft?nAUlX_*O2F*$4>0B*PgG{*DR=W1KCB7`hI`Y z-+F@xUlwZi6B%!c3vXy$z3+Xey$Z-5Vl>Ugh_EJajFGrC98Vu7tLJ2kuct-Xr)=PC z^PD5$J}u1Vkz&#dV@|v&U1+%i6c^;CDg61DxG>bs$x>*1Yw?7ZW8mM{hHJK#9r{nr z^xWkBt#B3Nfh=0CtvMfCY;2=^qdZUHPCqD~$VkgJB;Um4&-Q@qV#8%DSe!Jof6JJ~-}#6ND1JNwk{3_v3>K6)}ELo)aOOX{}nusj8^ef7dntlWaH<9yrHnU>5 zr%um0e8PEt9>@(E5Y2;}ByBEbN?f?<)L`p8p?}kUf&4f)>S@yaz_v4$U&LRkikkC> z>Kv7q)lD6mXWl%aO`!^ z@3wQb3%~?BDd*t86ce?UKR*)RXP9CDoLsp1kHUj|Yf+DT} diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/src/libchdr_chd.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/src/libchdr_chd.gcda index 70207971c075751da5224c86d2572b33336a8742..cfeedf31943aa4cb0fba69e236457751d2146e7b 100644 GIT binary patch delta 1525 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 CC#<*t delta 1105 zcmZ3mgK@zQMxDfzo(g2gbrMR)TWW(zisrTM$`DlVDdp4=dv!O>OtgtosyAFo)WJUNCdghQt-z-v|td++24+#M`)j5q2{Ucghs z(Rksz$R(~OnaK-y8d!9G{qhEhPF}#v!g9x7=q-rD;aTd&eBu3xKVZ%~-pj7CQzXPD zZ{TZS3G39nuz8Qr9>&QZ1Xx%y)ly!8c^pgf7lf{f-Zx|O9-#w_ETR|GSvNO`a4@pG zOlq3Gxkr?Pk!4PQd+O#MQ5HsyxMix0ic=<=L3pq1R`DAiznnOEgG2+%>*jYSCM$4+ zaNKTw7_wtx_0-7|BqLbFPRUFKiB5KqVqs}y^E(RSaFks8?6IuEWa?xA=@gEQAp-g5 z>oWN!3rJ_MI7#fcm|P=Wz;dPU;gZQ8q&rytJwNnnbB)XbCYHLT@AxJw$OrKLx+Z8V z&TDXmfngz|#YD%alkJ$fCg&(r@E+K>F@Mk6MUEf|hmDS`jFas+%y?`pUn!*5+nreY z)KPYFLHLZx7nE2yJhY!^oj7%M;p7BMo5?wBQv{i+n9U6><{HZxrALDF%S~2{XrFw6 z+l9kG)Y?*W#*eJc6I3`DSq#^!Gf$qQ`hbO{IOXu<2DJ@*3k4sgDHLpY2GXU$xY^KS z2@A+Yo8M@EU}ibJQ!ak<1APHTj)feG3ME!C;*%3BT_#^pi{WtkIms)ME%f)~1%?4E zOXgNPPgaokne1T1!ZLTkAwdv_gX5oB*zP?nrzg)b`oN-DDSCbL1mg>g93?$(Wgi_? zoHbd2r(*I0Qx+D%qe{~zzc78kV%6yRa`G9o2`rn=X+7GUV6MQ(am+udYVWVt0pLVt z#+XyDbG_)xB+CdE)$8-iC&yS;@V;64{=Sb*t}4g_Dw7Y|o)%o(%poWe^F7SBxV9X;J9IUeA6zq4fTjHbqTu+t1adqk#`*Pom0 z;FQ4-vPn>w1c&sekJN8EZ7r@hr&D$p)@0 zES9JGgg0BbzF_42aqRp=&u!vNASF5z9k+s%aP&QulnE%W65Fic(ZS1dX6vhn$!kJ4 zu$+JSwRCer7zZPZ(><-blXJosu$RDGn|D>2h6@4@4&b E0JjOLrT_o{ diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/src/libchdr_huffman.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libchdr/src/libchdr_huffman.gcda index 978c2c73cba9160cfce649ba8e218e44bef9938c..05bcb8440bf16c1d3e1dcdfaef1e57661e396af3 100644 GIT binary patch delta 168 zcmZqRIlyC@n39~XWn$?Vdmv>N0|UcCCI$uuMg|6kj@|!wK}==_1_r_PSNQ68^-TTO zdSMR(!$L-$i3?39%dzTl<1Oq|fcGU;gd!p$;_5{w)XJlp51eN(NRXb{1% zK6km(+o}8CO`gM4!TY)4g=Fi!Yb_u%>?SKRU!Ax?17wciT!ZU!KX}h?X)2Y81xcz* PR%D(ElG*%$MSu|iO;|dh delta 142 zcmX@W)4*epn39~XWn$^bcrV$Cfq`Km69WSSD+2=qvseo|0|NsiGXn#I;QA|k!3r5c z`=-9qpX|dF!I5j%!SDWBw`Jmj4wjFfZ`*FxVU%EG*;4G!IoX3LfyIA^pz!21OclI^ v;ZNoqp5&p-z_5_fWU?Xi)yaA+W}LE@omYWGlqMT8_fFPh(c5gmD!>Q;@L(w; diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libretro-common/compat/compat_strl.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libretro-common/compat/compat_strl.gcda new file mode 100644 index 0000000000000000000000000000000000000000..f60799d84e7e6edd9d0bf09a1598ef97380dafcd GIT binary patch literal 200 zcmYdHNlw=?v2={SlroEffngyN0|Nsi0|P_H?ti=>CNl#A!!N^Dk+u09+ycP~Dhvz@ q8QB={f%S|aGmum;g3Pdxst?{{sW2sMoy=p98GJ|zNM~Z$!2kf{uoH6t literal 0 HcmV?d00001 diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libretro-common/features/features_cpu.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libretro-common/features/features_cpu.gcda new file mode 100644 index 0000000000000000000000000000000000000000..a8b5e6ad2ef2742b04c436a681afa1e3b1d40836 GIT binary patch literal 560 zcmYdHNlw=?v2+Z(o-&JpfngyN0|Nsi0|P_H?ti=>CNl#AL;I@*qHpBdM8v-x7h+&o z$SA}>O|YI3WG9k|j37Jz^iN>kcTAIe{qMgg>1C(xBx`|VZjK(@i(6YjcCs-rFrc{& zi4So%AHv~ach?`d!XF#)F@K88gPR~T1Q7BRupo9J834BHXsoJSxkQr%vU`!#pfRzV Z(R^IlOz3tG%Z_G)B_Q{r`WHhF0|4H%F=+q* literal 0 HcmV?d00001 diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libretro-common/file/file_path.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libretro-common/file/file_path.gcda new file mode 100644 index 0000000000000000000000000000000000000000..2d89d597b516764d8a94f369752913c76974a8c9 GIT binary patch literal 3736 zcmYdHNlw=?v2@&UDP4|X%&@hj*m9$EE}5;MNXDyd(per7kJ&}SOR z9n_59*k$GZieE3;+HKl>0Aw}`RzG6*+pU=wf{*O&*Ca>pHjhA;W3}DSR4PE~gPCj@|v+>;9T1 ze_hqncrsN5WCu0f|MkTy7V9hLG@T{iI)Ka;A}g*ZrDips zY~lNT>R#Hjj&GMhX34><9uOM4f6Eiy;toy9Tr@9j6F5Cm5_Su6d{q6b{2PAlKlm5q zUuxu+6{q&OsBmpp=;)|?Ni8$qq;b|is9hN+U+KMpT4r*Kt#*^OSKimXyl_3pOj7D| zvxg5vHMyIA?LFya1=35+`e*uy5|ijTb1tsJu5?Rup;D!fZze?UIX1)pM)oOasS{0!`zG zSi`Z$oHIuzX_x0L$7dOaK4? literal 0 HcmV?d00001 diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libretro-common/lists/string_list.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libretro-common/lists/string_list.gcda new file mode 100644 index 0000000000000000000000000000000000000000..a420cf40d95178efcb3217a1430f58719221ca9b GIT binary patch literal 2232 zcmYdHNlw=?v2@&VHDwk91H(cl1_lO31_p+X-T!z&OlAfK27kG4J{%$)$Evez`571% zGO{t?1Ir1>uV!Sys(mdZ$ZmwxdNe)*BgidEOQ*3LN*a9IcQJSu$Snd04HU4JgS^bZ zz_1!huZ7as-Ed^vmx3>10n$@GtXm0kgAfHaV`?SMEj(A(3P&yx>nVNR4-OA5Oat+V zkY?BIS)IIwC3`-7`z`$fIM~exTM{YJY{d^}kX;-|A%&Ys zS{T~)9f@3#!MK4lFG-MAc5IzJExyTs`Nn0_Y2Yv;RJTI>MqEAh_ed9$SZ$+3%C%H~ cko)P81}0t(Exu7)&ehv=Y(2CNl#AL&f)E<&(`Xe7ctxu4iCa q$jHKg4XkGb=|z%Z1nJ#q_CLa4!|EU8=q+0nsr_tu(J>PBG5`QEi6A%t literal 0 HcmV?d00001 diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libretro-common/string/stdstring.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libretro-common/string/stdstring.gcda new file mode 100644 index 0000000000000000000000000000000000000000..3867132b1251db2661bd1a451829227f8e73af69 GIT binary patch literal 2516 zcmYdHNlw=?v2<*`k}`{dfngyN0|Nsi0|P_H?ti=>CNl#AgNQ^Z8{@O1QU+=|MGOoJ z8QB={f#o3W3=9mbq4ZiPy`B+dHj++8kl78zkCbjMf6DxQotG%cY!)O12qtM}W^S$v zb+r8Zm6~S0zQ5Edc^bzfT7*HKq_$Z_*9`%c>(14nFra4mM&J6Q%e3dW7%kjg()v2k zBB!;17G_`TwNdeZ!JxV0KfetqOhgcgfr>2B(iLCiSxf#^h3hmz-gJT7#7B`!NVB_i zPlrcX!26`h;jeap?50LO*`E{U_?+9~3@zfX;K(bRGTXF&blDjDkI z-t>D_(n^qfP0h*vo{qX!S1kdidRxe4*kWfloIs+aLmRBdOs*o}X4Ta^UqdOmZy_zhU>wHo?ap jem_qO)1q9PvZycKD|4D1HOt|=OMm$`zK(ULl9>zu?PI}` literal 0 HcmV?d00001 diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libretro-common/vfs/vfs_implementation.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libretro-common/vfs/vfs_implementation.gcda new file mode 100644 index 0000000000000000000000000000000000000000..b82863d88a911c6aa143b0c7ef5020d3bda5120a GIT binary patch literal 2132 zcmYdHNlw=?v2ycK`qRTcxo zLPjnIQowpfkeNt27(r(4^zvcVOROMvJDxYq zm#r`}y827StPf-dHR2?luYyk}Y+cRvrrE1OW(pANM7-*-yMInLn?Pmf;|Vz%J_v*C zA|-tH-SG_BtyYu(e((Ah)=nYa8V=Ffd>byK0j+8A~p^^?yoDjt7Mujq(En0I_7DDF6Tf literal 0 HcmV?d00001 diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libretro-common/vfs/vfs_implementation_cdrom.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/deps/libretro-common/vfs/vfs_implementation_cdrom.gcda new file mode 100644 index 0000000000000000000000000000000000000000..5ec64cf2bab51bd1088b6e6c963a680750b17bad GIT binary patch literal 1268 zcmYdHNlw=?v2>h$EoBx11H(cl1_lO31_p+X-T!z&OlAfKhPAy0dVwZvdv`P&EMZ_+ z$Ouxy00+xK${83KRzvBvPtz3u4~Fz@){{{Q@I4v@QK z;BKNPV>u%mUh7sfvS5{8ixxiE!|QZRe&VgofqYH-S=WI4$cNP|Vg*Tyt9d`K)Wq-e z43haG_8w$62T|6LX2+kFHH9_Fq0`O$Z!7#OaG>sePGW4SX? z$AaZpPn6R{9TSe2sOu6L!A);KY^Jcw%z<5p3?@EsVEHcYcV%(}qt4_2Miv(RnQKia SM=%<&+?1}{IZ;QSkpTb`2PC%u delta 159 zcmdnPyoXsQF(o-&%f!<0`rTwJ1_p+OObiSRtPBhc%wjF<3=9m6%nS?+SHtzJ-?qfC zPt>ts2|C9#bE1w3M@-api6@h`E(Nif!Y(tf`2Uf8;sXa3zNFg6lOq^)CI>LGuvBj6& diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/frontend/libretro-cdrom.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/frontend/libretro-cdrom.gcda new file mode 100644 index 0000000000000000000000000000000000000000..6d4451cd73fbf5ac19fcd54543e1fcea0801f46a GIT binary patch literal 4240 zcmYdHNlw=?v2?t2HDwk91H(cl1_lO31_p+X-T!z&OlAfKh7~Zqx1qAiG(R6d;(Snb~c} zE9}GExPDvD|5A{d90-H(ut>9`Fx)vp@@I=<(W0EmAUg!`m`uDBX>QP!`XK#WS7N(w z`23q7H_*bLsRy?BbmtYPa^@uo(#nqYkB>8)-fn($pI-1(kR2k#2N($|NekN=_ucH` zJAW}wN@w&0xrv^6;z~jh!xz@+M*mJOxCXMD4X-ar^H;6coVl`QxA-t3&5E?o0fqm6p@m zuJEO{P73$GpQA;X#W`rz-&lTSy^-4-X^=l?QSM#a^wMC>qM+vF7%ef79i+w!{ye*y z5qmwi7OjrNUT3~-T%e}Oak+0zqF)8bZE7T?8G0)wEsgG)ed1oRu+XK_>KZq9A zsIM3CI3WcJFIuFR`@HKaeT45^5xdCyoK|*d*8UHBUbWrI*|GT-$PN{HMNGhjFTG~b8miU+R<#V i1mp(P{x)fOYyZoC<<4sQS8Z_f~IHUj|mqacF- literal 0 HcmV?d00001 diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/frontend/libretro-rthreads.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/frontend/libretro-rthreads.gcda new file mode 100644 index 0000000000000000000000000000000000000000..13235cdc6701ce3b4cba4b885474add7b625ed87 GIT binary patch literal 1692 zcmYdHNlw=?v2?t8EoBx11H(cl1_lO31_p+X-T!z&OlAfKhFb3rl_&ceVz%}CFJ)j@ z$jHIKzyMOmfQM#aSP3$Qfq`K?BS@_oNHGL6g3OG%^Gz>!`*ycmbGCd2naKvS3?dJ< zAH;+jz<_QR$YCIPkQR_xk+(WLHrzfcv!mHy3CJvveNcG}y$Epzusd4Te35IOIJfBg zIxkU>UKS(;2qvmu5aJLswj^%1*?QVuaKiklcR*%j_1f)`it?h>9iD(UqEpUQv!=C7>#b02TUQ`bVi=9?J~xOohyzB7)UvcM)#{HND_j6L3fSCcKA=*GBs$We&LJ$l#bI~T2B(F&m zV&eppwt~VBIW8c|kV#atkYvDSRYkP&zB$aTgw3z8GyK1c^7O;OrUtY6# zz+Jl*IbS1`z*wkez(ir?Zua#ffd!URyon88P+SIIb;$&o19LBohSd`mAW0|&0CdB- A4FCWD literal 0 HcmV?d00001 diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/frontend/libretro.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/frontend/libretro.gcda index 489fd45a0983d0fc84ea1158b6fc3e08a35b6306..c69a7a9557c1485fe7f0cac10745d3bf4f6ec810 100644 GIT binary patch literal 18768 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 literal 18036 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 S_QGi7{4|v2NnrH?$e#d#K4>EV diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/frontend/main.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/frontend/main.gcda index edbd3592c79ce2b691486f206fac27eb8621804d..c833a04b3b40bcbe5ebc5684998e2edf65fd4dfe 100644 GIT binary patch literal 2956 zcmYdHNlw=?v2<*3%bLZ&z_5^sfq{XMfq|i8_di|`lbL~mA&cc@WyM}4a zWMpGtU|?au1y+KzGcYi$X9Ssb6huIjGJ?!1lvo`nwmqW5Zqx1qAhST`C`05KU^D{* zsu?~|d6;|hxAJp6VSJ^~&-e5v$P5k!1_pbC8ZZl;k8Y+vSQVH6yQ?v7ZaLGVmSYD0 z*%(1)3Ssdh$gLn9Fq##_Aqu1V#}AlqX;7DM;8Z$1ITZAhnUJiaxnccI`>GA3@PHUc;1K>&z0;8s?NnMVXN7&|0Bpx ze0bdivJn%*+yrtnL>7{!vLGA~2@b!z-i?}y=2}-@h@JlevP%icE|?kUG)OZx3{wY_ zgYjWBx;QRAOdRBPIR*v>z0ez4ATgLZFgmR2Yymd$E556pv5BucCdEmLI4pj$L7E^K z9A>r!S{0HmMT~R*vu2#k8_`1mdIovth19^W-9b0328Rn zR*i_6&;l|Ol#Y<>C6S5W{nlACCE}XOMXBk2Ba!F!#R~-1BA0iVj>hkKAQGG&KFyNnW4-8oW=FHZ5|CLSt9U@NV2tXH1eoCr3}C%~JSRK7nNq+@Nw~F5 zl8bovvqu-%ez4VG0@Z%75QG5Rzw*l62>E5Z6jv_F*}a<8M>iDVu)?cBex*7s}vp5+yuVZk6fX<7F6TT5%y#YUJS=T$@ypt=*3FQ9G( zyHjYwu9{pGgIHqpvO_h3k{+l%T4i&FamLjTSCPvZn7uF>J&!q{nNct1U8kMfB&BlQ Txf&EspfVGo1f7NI7i3ug(FW}N literal 3404 zcmYdHNlw=?v2bTC6@8j(@?LGi9i-m!K!3`o0rx_Sf z%`k?_!`zd44FEAP!L&)jwtkJz%?66{~q2zItPsT>AM1AiL!l7#I-222qU8hlpaT zBP0%!htZhku4Dw+9~SWe9E31=7@c>BsT`yi#)r|lM|xyP5eKQojv?tr7-ldu4OX%* zsCqA1@T_LT{*RzA0);(733ijvMG@*zoi=6($d(^+IoGVG|FlI$MBE{EF{tXKdo@j!AKn zA`VhZTMS9p0SHULY0b7kt0GOG_s_>=DdwQG1}j?-%CNCe(=U<=u$d>eALm{ky@cIB zSZ61-%v9)05}MmORXZYPLJP=DQ2s-*mqaFh_giPplrU}eKTb{e8;Lx(pI&~q5V_vL zbToc<&1vUWklD?vaP#UqKUf&R(k+aJnTgJai6dxKyCe}Bz;PJ4V2;iKkEgjioj*5% z>;k0=m=atxsEz~G%~|njMId|7)iE$Y(qIEf5`w{YeVQfD=Q&GCZAY`g5|CXWeS#2q z29TK$CPc3-w04Kp#eX~}JM9UPnnFpqwoQ_YIK1586SDmfJ3%CBIDtf<80_|ySMEma z@zOf>@?dB+$n88xWi`kjP_0F}p}VD5p@7z&^Q2zgX@>qF&XWmvtKcb#-Evz5wqXK)z;Dnk)U&{?Qv HASHz%-!6-JxcOGX7Ye! z(C{3PW6{J=xhtWzL+rQ)<-x*8W1%RAz?`dm)U@LqnjLnH*?J$B`MlZDY_J664^a3a z+=%Kvgg65@404b3$Sk*=tB9-@p&wQ67K8*?ud`BW%mMkYSBcSk1WoU{V^W-o8kQ4@ s(c6V^G}vDMa6hSXo?|zN(VK~;ck0P@frNd13CMa8N>Kfa5NBWj0HvW@9{>OV literal 1940 zcmYdHNlw=?v2efaDn<03;7#K}ZCDB_kUH1H(fN7b%boOdLitFsx?;*_8s4gkZ2;IZe3q#h6P=e}TggC_B`L8zldu`5(BS&wZ zo5;~CaJ*VP;P>JHa`fI53APkmUAvGRy*_O_0-J6wtRP446E=6*$nNM1 zC?X*=g2D3Fl1m@ z$f(3Hn80F?a~T*ImO|;}P))O3nKegT;Qk;X>i4o8S;NE(2!!6ev@jvK2LDl8SnrQ=Et zf$ZQwN?%}ANW=+vf+NnZMuc9lT~}EJxuSUVg=8MpfbBvKeni?Q&g?B{W;1LN)o$Zi zb`v?DAe6vZ#F-6K4J&W{&bXqy?AasB9nA(yKw$)OD;Umd$FS&v(fHCQ#B@j+@q%zbB-pLhQ`2+Ww=Cwb%1dtr zxitmJtuQyjXpkllM(2aXKo}+tqd{UIjLrv%5rfh75z9wc2eS)Z9L7hdsihuf4lWvI zFJXD&(qSILAaL9+c_PSu`K{!#pH{#BgW{G8DQ*!;QCSE#5oc!uLOa;bmZwS5CwF`o zM$S(NCB&JDP|pB1(}C%RilCj27B$VxjjQko+Pp21nr2r0FmP}^qW0Us?vNEMypjAu zfJt81bavkr;S1gMEs(=TkQ_Tfbpip0f!jOCKRGpRu}vV+43IoMbeZI(Stg$kUKu%Sy{v3>j)1~~ zkD>q|&ka9T+C@goE#95kcPnn7+>rM=JfZ(mfWm#9Cw>Fv22i_ohs#Y(Y;HibVIdJj zh)--AWFo{k5DCujt2g?m?|i-S?&>Qar9t6o$cy z<$mYg&QSXnW*5wCkRlL<@nJNvcGZG3LonE`o7Q_|!n8fFEHCB}0@sNxpzz89a6qgV|gk2E+;3qM|1b;sc zwcaa6cn};`O0pbj@kh_HJlUvt2^3ZZ2ziXKLXsL~4(brVOd}BIqNar+h#-grrv;|# z>zFR3{5bEw{{ndYrUoQ4ibq%o5SMn40tK9Q{K3H7BG@g`8RtSckCoKyEsXyJatodN*bD&ZXl*9| literal 7328 zcmYdHNlw=?v2@&eIoXPVfngyN0|Nsq0|NuISPMG?0|O&70|P_y%rd#wXVapW-fVupKf&sXU5W!EHO54VHlH z0I30CkOE@OG=V4vkzg}z1V5(NhB8gNDYLZ#WTq5IhHe;lIDo zj#8iLhIX5F9{~9U6z)7wMKGG!aGC(s2aDfqhiwL{kF8p5KIKmk$ZQ#eJjpC+5t6k) zHBc5_Ezr~j^HWxQTG6THx}lV$rzWV&U}lysk>+>snDrdlOoS5L?uV$s90g=W=;;4g6*2p%E-JsBK*9}qZ+VXpgaUB>p%(+m^ia1BQ$``{(U7*=XtYh zAaedhD1otvGaIHFmhKFsUe*Vv|IkBDcchk$HV8w(?hT9hP#e6^@uAGDz;~cYubhcNb{0pXm+**U=R+v(B8r>~0 zK01xA51kKFPi=8@b76c^X>@nN_%L%|d>9QArxs1AxrFp1lotPSp{|?m;k%8>W6{DACo7}OuydAfWjM8o`Yra z62#esWCYl*&hEP+`Fh`U0y%61L3V-S7D){O=3++T+_sbvR8L?Uwww{s?!uJCErQw( zMp6g%)B6KAe=vG9d1|mQt zNvuAYI+!)E_9KjsZXHY>Ax>PH%|mDa$1ju52d`sBr$1TQ=o|rs1*p9TD{q>imc#fk ztuVL3XoOpcb3;DNAZUI1W2If>d6wPQnSHn7U~WJtA(cg(8<0!|heO`$@C3cW&G)bI zt4;yAfxNs#p50tCEsSd`SQ!Sw?$sOp(@l@h%vycrqcq6h*vcSS{KIHs+f7l3Kn92L z>$*+hFKw>Xwlmbeh1rEL6QUT#htb5^6$#M}BEfduwB94rck$5u*u@*HKz3<>WClGZ zFa7Z7U#yxlZE5Lyas5h=Uy;T#2EC67I}kHW@b~-h*Jnzy9BJmK0wtboRJ;TVs{$+z zK%_m0Bsw1=O1R$vQ#a5wvF?YdgVE^jCRQAmI+%IH%Jcg`bP!TcY#9*&F%Cq6%Lu0H z>zJ-h{BzxZ{{`?k6LLQeqzHrw+YM4Riid6pV3scszo3>QVGuzO2~InI+`~QDo?o<` zll18Ws2l-}QKF|6bUsKkbun>n4@FoCc6AqY8e8qrbO9h6Ybrn(|urx%n)1n`Vm5uX+?{RFWV)h)pgK@bUc fi*&}hki|g<9QPK+e*(D$)L#Wjl81?N1G3oww)c(6 diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/libpcsxcore/cdrom-async.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/libpcsxcore/cdrom-async.gcda new file mode 100644 index 0000000000000000000000000000000000000000..b094a40a7f5393f50919f408b23a7aa1cb76129b GIT binary patch literal 3812 zcmYdHNlw=?v2@(9Hf0tA1H(cl1_lO31_p+X-T!z&OlAfKhRqL`h0m5OiSd(Ab!T8$ z$jHS&3Rui2K#FplYL_x{;FLp_SkB0U%q5z=669?L28Q*FpfEtv#s~@nwakvXG9~fl zJDLrafWiP(&0?tDrBHe~l*Vsnfc!IRC7NX@vSGru(Cek4~bi#7`j&klmp8nu;(K zp&EsS+b%W~b?6*OI-Gq%3MiOT>k|wafR)3xD?Ki7!$0K8@M2m^3_d|3e z~O`d|h^(=wN^X{r1_vpd4uj(r6A9h8pNpoKRsK0qv1xlX~X$A(=x&S7MEKZ!An-N;UcDAYS4=IX$ zUTgQ<>JrROG;cBB<`ZY93!0s3Q+Ebme6U@9@eI+!AUnlCfelrIC=Q?kXcSDISen?h zn}e_i94>!1T8oEW-7SV(4#DC8MiXncGn&~8W^l=@+Ijprvf1eVA=c~=G_!Xnn{v)~ z|C_7w+9DDZwn_|$Gy-!sE*fDJDhs9_CJN(AzyzQ)OdLi-g^?)Y(u*-d2RJS^DQRj8 zOOymMdr!Cy@{|^Ymnj*J= z+^&G+c9`8Op&1ND!^E|rg-r|8@$L~2gO@|q!^F|~FmV_SGY>|C`~o!^Y~UX-$-rZZ z0Y-O0`7o_8K1?3w2biDupbFd2^ug){gg&T3w0Z$152Mlj&=1oFt=m4YxRUM7c_G!= z)*f81gYp?HykSaVd>D-`j*AZyhtcTzVd5|vQy#U>g!PR|py>#v4;D6<`cdN-CJ&?0 z!)6t%@PdZT*PHQ*K{*0-mKS%d2E{LOT0_{4&LXaCK+*-yU(sh~7p}h9a_Ld4({7Mm OFux+HBZEn@TNnUH8zZLx literal 0 HcmV?d00001 diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/libpcsxcore/cdrom.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/libpcsxcore/cdrom.gcda index bdecbd9519caa0a25bb1ccc3f94618ab73849856..d057de61d9cce9604c5092d78da47e7d33138185 100644 GIT binary patch literal 5336 zcmYdHNlw=?v2R6UBxnL6~Ref98Es!x7;lsdy zJ?zC{0n5Mu4*Pzc?aXBX-_Ih)GrC*R`3wvQKY}gCVb@xSB!~ptm6E4dFiYWDsJQgR z@1S_*VqjqC0wn+>dJ;%A5=QWevvUW`u~7f@-h5y+Z;PMF!gZ}DL3ZjOnGIv2y8&Gs z#{Y~k8!QCV2jjl97#pfx$ulpaDp}3mW$beXAk)IzR>_ z4UY>j2ZdP6$il$D@a4aJ1Bx&MBtLIOgbO&H3ybySR_DfXx_!}o0t$02P@w|Vs1Gs- ziLVXib3kdRGMp65Dnc~O0GMB4^h%fnl*SZCq%%<1L6u>lu;;IdFo!|YpUdYo{5A9J(B%8I_P^AZKw3GxrrDkKUKh7dvQVFi%`li+ky_x6rmBN~i0nN%nxw+>+gxPEXk5R2J$ zw_Y^AJ6;Xs7A2&*8&-!Sw9uP{h$oO=aodi)p4xyG?i=SHbS$67)NtR&Yca^Lpn3{s zE-bCV$}pI?0^CxBTOdN%?OcIor_mmNvpdpVI~@h>53A$MG6iBy5yD#F0PZ~~E_kdz~sFnJh_kU?c3QCw{_#7k@E_~HQ3{94O*P-3x1Li$v?AEM`g1FC>%g-H-!5kCc#Kt;>6m$ z9?fp6$In8;ADkli4Eg7PHHK4cmpPF$G6d=C%Pnel;PbFBYP|2fkJWEW^0 P4cYvm#U?Hcko^PzHql6n literal 6256 zcmYdHNlw=?v2>hvIoXPVfngyN0|Nsq0|NuISPMG?0|O&70|P^x&qUATGnSO>bpG7P zz_5^!gMk>ZoDrgGB_j`nK_a;ts(&q%Ue5?}8 z3=G)a)(27y!C(VZ^7ING8Vf8Hm!9|?lpeVl7#J?dK@`B~Dp00kU|^7eS`r6M;mB@; z=)hqoTsUQ5!Szwk&S_Y!9o9^0mxLCdKe7~caV_+b4ozc@UR4PP>8jREDQ_`fBwripa?TS z%8hQcFe@z9lMDO*Ld)%o?h{a$X)!P`a6&b%I|*UH_)DOCxf2laFbKs^0i~hQ3FRTo z0TrMiL0mL6h~R!o6$GhfU^ot?U-Lrvu=D~GM@}c8uxl&31y%?%4@QH+4lKcdT83t$ zg@w!X7xpaz$|f?8Y7T+I0u+v&{19Ko!qp=355!FDX)_E%$RyevJ zWHu;2z{2%BsG?zDV0eEVVj{XYvOggzu-ln~X6KBskGVlp_f7l0&PxP&YzzBLDAHmEFtxf|p+kb34NAd-RMwGf1ckuY_{`YRXBU*4Qj z@?T~7zZ&j3r3bPb6!&Y+!c2$I3!rJ0SUU>P>{z68G-tlX)RjA$4VHlH0HvkbWzdL1 zDnlW*VULe2G&854VD@!%4@g5c^SC}FeG%)WVElZjJUT4`^}s zP#l5ME6hBY9WWZ%O%OHM?dU+W<3gThjqO&Cs=m+n=Ys42)fK7`0~j2k{&#@VFg~$% zb)wl-W3E|nN-{*~nV&^2$SxU11_qd2xafD=ppGGtvWD6XD^p!f0ITNf*anujL`)AKcD-s->tL-IAZ4eMzGnRM&v=F)p{j z#9=gY8UcyzmeB-Niwqz($h|Nc7M3tRjK$|J`kL<+l|4RH04K9|uRf3rHlqKNk!Uf6={gbqJIjG#M-2!H%}54+!xoC{8K z-!zu`aT;e|-f`W}8RRz+1_lOc5P_r+7n6`WggmO7vmLg9$0lI%FdA1rX-12WPhWjw zq;AD zkXu3F<&98-VlF})HO^2Jp>VLfp%Gy|IGuf(86UWL&YIQn^Wr~&++c)a#!%-V!ipYc IB64T}06qC@?f?J) diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/libpcsxcore/cheat.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/libpcsxcore/cheat.gcda index 9c74b7b2ed97a0b8ab2325815330406c458d2f80..54d38858d2d8b022ed25d9366011dd3a6891d988 100644 GIT binary patch delta 134 zcmbQEFh@ZqF(o-&%f!-g{o0gS3=9klnHU%t7#SECI(Gl#-6(U0OAsW$00!$BLF^@y ze{yMKh%Vl2%AL;06v4iEAfJy@Z DbfXvL delta 134 zcmbQEFh@ZqF(o-&%f!;L?{cyg0|UcCCI$uuRt5$JX0aCbjWTDr1X&nhU_B#9vUT!L xE^Q3amd&Qz>5NS3a+??OEM^p8U|>*}L)B-!Ih1cUBO}X1M|mE9MwlD}0|0>`6)^w+ diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/libpcsxcore/database.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/libpcsxcore/database.gcda index 201dea331976314a486b102b45563e286ba4d7a5..ee248463bd87b8658e145301ef0ae7f0b7a6ea67 100644 GIT binary patch literal 464 zcmYdHNlw=?v2@(JHf0tA1H(cl1_lO31_p+X-T!z&OlAfKhKXi8A`Kn<1xcOFwhRml z88tu>3=jZP3tQKoj7C@?rKuxp0aF&Vn%@ew+&9GB7Xz0Q9>TuK)l5 literal 448 zcmYdHNlw=?v2WfFu|ofDuA5fb@Zw_dx^}d8jZQsg;aucx_wH2y$}}%mYxrItI?q+&I3;RSF6`eRv1~7op-ojum0|Uc) NMv&TaMi`%g0RT+@3S0mH diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/libpcsxcore/gte.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/libpcsxcore/gte.gcda index 7deb48efef3ea76da14225e8f5f623cf1306c593..6c5c8b575e28a2f407f3476832019d986f9970bf 100644 GIT binary patch delta 594 zcmZ2u@IhZDF(o-&%f!;rYjesh1_p+OObiSRj0_A69lQVWZj`yfG+Bd1VX_Fb2$=R@ zUIV5@SUf=V<{Fk8ER*-JZrIGiCBbGrcPmIU1B2#DkO2$~>&n>}K*015M0{xvL_D?{ z!auAFl4W2x*1|G*B1)n^cr4>xWskrG(?nv0VWUQQf?@KPbLEt=>k0d~@CrpcGYl$aIdQYJdea_xdhGl(j| zf_eti8g=w-C^Ddz<1xBbiM3{+bG8;>n&{kKdC{*7ElE6~NNJ87Hq2(qg`) z$vDwb9xU>caq>SQt%*KDAmx(-gheJ#VR;2+r-+CMKUu*Evl&dU`6V;aQMdjIJDA51 zrU;>zLnsCxC~XfFXM^%#l!GNRn0X)zLLUJI6$1l<3e-IFrx5R_uY=H^q2gdo3=9lH zyTB}K1|Ls|0x*|>fdSo}i*+ILQ!8OAAmRCkadMHU7PHPpfr*Z~TscrlL*9vwVp+GL zJcv#xhk=2id@d;77#NhcK-?+_Q6=mL%_!G^m( c^Q>0i>-fITOO%0OAtTE~N72di7zG&_0Gf_+q5uE@ diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/libpcsxcore/gte_divider.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/libpcsxcore/gte_divider.gcda index 3fba8f9539a191f41a85797faad5d65e06e442ea..95d286c1d6af018e320038cf5af21356f8a168ce 100644 GIT binary patch delta 71 zcma!vkx5KRPS-NAbj;hFGK+zMVIdO(0|O%i14GB|f4mcAWK`k=bQnMYMl&$1X9TIS L1rZ<#1_lNIFsut- delta 71 zcma!vkx5KRPS-NAbS%7eDDEL3=9nG O89{2kF+#Zv3=9DOybCM< diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/libpcsxcore/gte_nf.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/libpcsxcore/gte_nf.gcda index 4f3b90708c185fb4df56ce786d7e68d191675db3..3704834f1b37e2b255bd2ed5def3bf1b11119b91 100644 GIT binary patch delta 77 zcmbQkKZjo?F(o-&%f!+#Y;(#i1_p+OObiSRj0_A69lQVWPLz?En4>T;q6S2M0g;<0 dFfL)4n4>T`gzdp(6DEVnDeNMXE0~lS833vS7;69k delta 203 zcmbQkKZjo?F(o-&%f!;L^;)tO0|UcCCI$uuRt5$JX0aCbi83-m!n$k>5U`#REXOp_ zt4nBQ6-W(893slcH1S!NP=f$S1cV`?Y)qS*7&oy9v75pqAmTq5C%dt|Q<`nX4N}W+ kalIm#hVdB~Aj-ZnP7Y&NQd!x<0+xo+FzH{6U|}!;0L(2P_y7O^ diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/libpcsxcore/mdec.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/libpcsxcore/mdec.gcda index bf070b594df926d1fd183cf3e55936da9cec434f..777ef44cb05c807873262a8d5af334125be6cd79 100644 GIT binary patch literal 2968 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 F1OR5x`Lh53 diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/libpcsxcore/new_dynarec/emu_if.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/libpcsxcore/new_dynarec/emu_if.gcda index 4497df108875dc81e8d59dfd64153c6d53073df8..ee9a378697ce09987dd648522050dabb0f71bc5d 100644 GIT binary patch literal 2992 zcmYdHNlw=?v2>ieGi4S71H(cl1_lO31_p+X-T!z&OlAfKhDSALWcPXLN$zz1+{nPN zkdXrtL#bLKE^GCvXL+00L1yw{F;fhp zo?+$@EVhx;EUgzjcSe3(AmG^*Pi(c+G4;(x7~NxH#x zAMUIHxlIVSL1f6F+KprYI9%41h&VF_m849lSi%Fc8$^xyFO+ z0EHQnJ4j^W_s?ry``G1j5_(~xkdrH=67yZ2M3S6mFn47%aSC*1~9*UKk&pMwf^2anUgS=<+ae x7!8w$@nP-*g_8jT14A>HL^VhaOddv)D$cTu$pxD^ATey1dg>u*MjGKU1^`I$+r$6> literal 1332 zcmYdHNlw=?v2=91m2Abpz_5^sfq{XQfq{Wptc9I{fq{{kfq~&s%^BH$Cwh!-&Drvq zfngyd8v_FaNF4(fnt@>@BS@TqVLc;AjVy?O2!PG3;PhGd`lN-=KxXkk?Sm+R zkRba(ERfyEG{PuUJ2XIwAQ)_iP)x2|;}6LfGoL-G1=%5lT#JpgVm diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/libpcsxcore/new_dynarec/new_dynarec.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/libpcsxcore/new_dynarec/new_dynarec.gcda index f9d550687230699cebaa352ec8c1054e48176757..6280a5bd0e6acc02792cd79c037d5b862fa1c943 100644 GIT binary patch literal 50620 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 BuE78R literal 49120 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 literal 5152 zcmYdHNlw=?v2^@;GueuPfngyN0|Nsq0|NuISPMG?0|O&70|SGl%WEALcfJW?)#!2;ws^tY-wt$%6=p0N4zk|9Nbk((w$p=4|;4GJ_3CFH9+n zMmMVyVh)G|nEP}3P0EZ{5%g9Ab_KxvpcxZJ@2aW(^-hH4+BhFA!IGR+Wk@~Cr1Lx6$Ubc!%Yfjc);Z5$Wi_4ugs)s`YhZ;tClt8TlpD01|^=X&HkhfspfTFJIITT{bc* z=IotUitMj<&}z^p%&F6^m6{Q*~n(B;03vcfdNLNyJI_= z852&1#ONQL>WOT|gM3JyhSBI|tU)v5_-et}bDnKF$Yv1oiwT+;>Zt;rNohJt$YIM3 z@d^VvjqV;}G_&qs(ye{>^2-WR++&JnhQc9B%YC18LXgdXItPiuUye=-d|1Ba|B(ht z%vhmu$i4HE!YpJn2!*XanqNGg9S-(hbo4cH*rJ;OT9zQPpO69-%ETYGKQ9^O+KPQSPKgJJpE8SqfngyN0|Nsi0|P_H?ti=>CNl#A1IH1^65$)N|8_JREMZ_+ z$Ouxy00%2U${83K)}x6tFoN`^e9kc3b@YEbvRVY19cJ2~MNTmu4^@F*w}t<_Nzy zC~n+92>_}F-HlLTa2|oNK{QMqhz-K%e2^G2CRZMpK2pVz-2!6c(hrgYVTAljMmYus zhCdU(Dj|!*AfR4dMy%eh;c0Y=uVE_{9GQ74Fw6G z$kBWDk1_LI2a%R7Y&hRV1UWP_=q}gB_qhZW-f_pkQ_`MjAmKJkaE zd2*7>(F6alY7`Zvg8blzRF=ccft6K*jSq7dj3(qhm^xa~=-~<&=x&*Z)3&1rZ0|PpZ9`4s+5eyA?gPnyX>09=nTG*l^4>AjsujYUZWME)` z(XgmO=MxeK+06q|bgYISM8WjKXpk6o49SmI(cJ3w=%akdww8BX`T|@aw+4*nM|j&2 z7F5L2u(A>qN02yxgn1Bz10um?;NMd_IbX{?+DcA3&E0FGWV~Lek{rEJ28}V3T7MiN zN3Sy5A;Vst4=c&h%W1y4P+zMgg&e)p3~rd-DPE;ww`unQQ2GSbn}qV?C0K+(^J7O` zjOVwBrpG_+40;bTLx76;P-CGeIND+P4@QF`8#{)iiL+>K&S$ zSpp8H5R0mWSN{c^92Q%|4U}6gKqEP6 z2KfP$b}{u562Tu%!m6Sv8*V&$)TmW+8DxhDA>+uB$M1%p!NR5Kv*yHQKaBbba)T9F zb_`Wb_`^p3l}q)(muw}CEoPTMVUsh2+7YlAK_qL4$Z+Mu`~{;Sz6Ft}aU2K|f?#l2 z70%@y9aO)mnVfq3+4FGcn!fvT+XP$YD@9*B(@<5|Bisuzvu8BD!rQ&Dph8a{gM|-s2aHB{FH9Upqsyc7Vd`+v z=;~p7^me{4LIRv$9M=f5KGf@8MNXREX2m6NOC&&o9KEX790MZ!tR|A9H{<+CyTD)C z(~$MT!Uf&GLTF<<$=U@nKX*=Ch^!Y8B&hijAr6^;>0GxWyJ}X-J96}%c3&uMb7plq vIeNe8WvZq;uwG4$-ph}r6XQCV_L8GFc&CKNbT8v?$o(3mFo800h8Y6@mh%IoXPVfngyN0|Nsq0|NuISPMG?0|O&70|Nuc5yz6djH_1fXf{~F zz_5@Jq=o?wRx(1E>(Rs^dQ(1U7;bUq$s|WFgM(q>!FWbdWW6E~%NQ6KQ0)zZi$mwIS!m=mM1641o{iNX%rQug8YD72f)Oa^&cc$A0%xa% zEjscbvq1Uk7Pxk0V1UsOlQH>(#6fn0+uO%#_(5u6=D}!?7hY8rt9Fs2cbdTs)1$IC zitRS-J^)Iepn8)~eq4{1#yjF-Jf~l5)BChD=sm~`P&}dM7j!-}zA*ADOdOUEH5Q6; zfW%<>VKhh#JBH-L6=-hc5%psTSmY$yaAT;pUUm&)0*r?65G1BJYWraWnjHeU z2GMhV-cl$v+N%t*gAZX887x%0kPHB)@l&008IMD6Kd;fxdjYZwR0hf+DFQJu-47Ba z2BX@&5zU{;vjfzdrzGpCYM(3s*^O>5F*Z<74XRs_%ms&2h(%SxzlNwg4vQ_~2Fk5l zOku8C$q1_VU_4A3l6F_2g}3W!*4ziy_cQfgYMlo80hD$z^%4@nA5OxmqAAlfcpf)u z)m#SIff!dKWG*T4_}%a`ShzH9@4Fk>52Jp9+<;WBlVZsbRf|7t^k2DDt2f5CHMW>t z0)dhda-x z{q~C-y=#tq%<4?Dtf^h>S`A8D6(ARl;$a>F_{*CX{?*BON46G|lb+5v3o|FK(IIQx zDw3PCG=--oj2wGUr2ea2tG%?E9KAc1vCI96{d0{Ry``%*a6GQ@^vWndvPOIFM(`COEHkR12e?Jz06z0Q)09KBoSD@89p(PmfJBisw} zOV4OM1D_{^MG<Z!7#Ol^o`*%uxHJFz zIxkTMhJ}nQ3<$tH(NSI38^LD;Y54Yba`uIPI_Fo;-p>xwpan7ss)lj$M8<`acQNbf zHU=|C-Q1t_le>&@6G+u0WK}TLFnaSuMtP=*8#ovlCpxM#PTPEw*`AT9pLycKgvnK` VevFeRpJX*=1UZJWXR<0=I{;(}Gfe;h delta 226 zcmdnOyN1^>F(o-&%f!;L?{cyg0|UcCCI$uuRt5$JX0aA_1_lO3W(Ed^?3(9c=NkAw zeP8D#%D}LYk%a*Pm?k=^>xzPOLBzlszP+8C{XqG|ot3lqvx78fF)%Q|lrT-6$hdH# zmz-%dL<5KfYibN;j=H%&>F0(?57&bo-M$^QU$n=_=z%qg3!Y4C^wA*5KlVez>aOl=wkJXR(wQ#ZlTLeo&*4Mw2d)RKU zR7vn2oopcO%YIL;mSxRV+s%8}S1@vQRqw$f0Wa7<2zR3n`AshsStIeZB$D#y;9pL~HYf+hOEmK~FI z_%k>bbvWC#^M?GGTwt6b`es8{b;|Fvc{`d7mVn{_98Z%K+4W6#fS3$mzzB-1hDD2Q zLnp{}sYxvo1F5tCNr9pi6rCV8h@L!Ae(A&joymS|YN|V-f*^5_0ey_CD-A=#^p&zr zi$Dg5fFve5>PvD!6+#VT;DqrfKNOT#gvr9_ok7ziKnh^0I42)uk!Q@B>?kD6ajeE{ zzFeczx5)uaDw7+8GFYb7JLXP)BQ$|UYm(Le$qm8*EP?6|rcQ1U_L;08!oni6Sf&dU zvK(m*=MuIies%%NTo7Sld46T4FNnkOdo~k?YKojWNZI5DQ5Kf%^MhMK93E!wZS}0d zzh+Im$8J11!Ki?v;>>?5zBYH6$q8Z+EMM=xP6Qi}vT>1c*`3oXCJTs1u#`ET5}ceP z-od+FJFQ5{uxSn`Ae1IglI<00r1DiJS zS(Tn?Q(p7r2a*9SS7+$6fkY=aNU^XKu6^_r#Nk+#;3RPARJbgdld$KpH$#L5>tqAz z01oRHkx$y(4L*Zne)0!t7M4ekZ-;=D;oar(c>3uG!-ZU|Lf znk*yR!E!iNvIFd{`NGK@0#EfaCi^hOOiqwvVfhs{(GuW7s+ zwyS#e87PxoEP0<^h%| z+m_mZY~Wzl4YxnG;L?Q223i3u1}EFpCO?q$<-YYuST9H-D(48>2XGOwV_~B2p3-a8 zU@g}535>%=a$=dV8z{)Jk+ga=z&Z|t`pcBE8XP@CVnMXH+gD-H; z-?BHBtHDY(sBcWY%FOr%6ho5@^jKJCZ%i)&aX41|5>rz+YJUREC*9>K_b5DU6}Q=(0d9X z*G@JtWZ_uw%8&Wq$pzQI0TSLH5N#N2W-xha>VJ>)W(EMq!@MMr4K9I(F>R_$m%R>5f}0kG>In6t2$XsEb@I2;D6j-}_jEtdsz0`0DP z=B!O#FnNJR1WSOz6IPJuCXD zC;KoNfMg~Y*t4*Bm`1e01UOzkcNW>Zkp0SL9tRCZj<+#yMDJ{ia-Liu9x{1?;{=v# zFPC$J{KD~0EUqqC$>+r62B!>`ki|CZCckm|!SQZ=|D2a~JF+GVIMhsDAgs%7(XCOu zwEF4fIW8S6qH}-Whub5;GP(S#qPpVbJ+28XWu?dbCM&qjU@3N)zIXB-w*r=F*#Xs) z4csGG9;@w`JGsaG151RKT=L`wj{=r8Mh~SyaWUD!lZ7K-Yo0)I@5-m3@ZxZ3uu|3f zA?i1Ik7owU>&R)hLCSdC{sa`6ZR`@tHGZu%c|yVgj<=IMEth{?@no`tcLYnZc*(WN zbG#E+3J!19S>(gWG2vu8BRsz+__DARae#a&?8DJ~p(N;c)LTe0_FFA$({)2LXR?4_ z1IX_6v)ESesW*++sK>pUI?BUpG%PiBJh;^Ym%EF6n>OcdS0<{CD+K)iuRMajeF z!rQzaXD2QnP*_dg5W>Ro$0uagx^)LlK+fQJetol|T=JW1lWjs9ScJ~bZJvA}w1Op{ zMO_cVed+?A%Abk6+BL0ERXQ>N(8xn@`h*@4$IBqt0srP z+A(-xv}Hba>C z$zoNYV3{nCz{1hK*C49I!^0mG3Ov72Bi7iqdwb2bs=SDpvoIpmg4RhB*c(Q6hs zvbh&ttoe8NUe;^b*Fuv&I4zkRqi!+TgH>Vj8TAmJ)D2?6y)N^=zt#5Ane32shvQ?h jp52wdxuT%#ILWqz=e^xwHR}a&jTTy3W|Iy0qZt_hz|b|- delta 3009 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 diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/libpcsxcore/psxcounters.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/libpcsxcore/psxcounters.gcda index b5df5e8efd397d6519729d39542a58fb4028dcee..f472ebd11301a8d7c6f2d1db32805349399717c0 100644 GIT binary patch literal 2848 zcmYdHNlw=?v2^^uA!QZ=1H(cl1_lO31_p+X-T!z&OlAfKhR3H>e1tZ{-*b0-;LX6W zkkNvHfdQnB0i*y#3;`PC52#bY6e0IBFf0ZI0|NuYQYgKgk&S_Yfdi}?5=I~Kx zuG}zv6B(7iW)Am@euC_R`3+*>eB0HHiPVNU|?WyJpr-- zf$i-PY-AQp-3C^OD2!iNippQl2jNFRBLx=?QN_RjlMjcghl%6j!^9b(ewzbz4@@77 zhN*+`*Fysj=02GFv4thR^bE_JaPy$%g7T&u0|Ub{c6Wb}oiKmF=w6`<6(Dg3s6S!i zUHgK-Ar9li==N{#ltAiX{(#Xi^I?1#4XYPSq2U566WVw$IkY_FQCj@oIjjQt6&sxYF{vXXdv4Ah$>`FfgR% zfTVF_m^_UB?TcG2b{Whv0iq5y@0+28+rIMXs<^|EbFU_Bf5pJCkP%d$Li8~(lqiBq zTLy;5kq}J~l7S%xo|lNTa|g^oXc@pMyiJZJe#+fYZ6|Y(ok9qCI16GkqCE(!bJ1y- yI=DtG?JI~JYB&VKJOg!;dF}hiy(?W8_8Puu0l5hj4(M49H=nq0(1$n#OacH+7UMkt literal 2684 zcmYdHNlw=?v2;wil5EAmz_5^sfq{XQfq{Wptc9I{fq{{kfq~)iX%!!VPcziq9Upiz zFf3%WU>FHtF(bs6OQG~~MmC554ss=<4Gx*%Exeu)lxC3p2u?G7)0cTfZdQ!g!T4+@ zD9vy&FfgF0W8i>lf{DXu1_sQqhbUbMjSGmKQz3#N5^U#E`z~+4HvYOD%?3+Ac7n`X z!3&ZGVdBi(0kr{^_N#s$%lAEMtBh>sgM5(5#GAPm&CIjn-3p%?ZJWNY^AZKQlLcfH z2F7$Rq4Wna0unY5Hkbs5jhsh9P~&d7`N($e`oIZRfFQ8jnG205n0gq^zmapgRl-OYcV5n>XtHM54YuvJXp;oB#7!4B-P;X`_P+P#Za(U z;B)k+m*{?hc^hUgJjr26$E3ue0nA`%IsE9bpM>j9SM}S{s}f;u5Jqw+hzaAvXkzn{ zE}C7rVfrSv70V|$+%NhGvJ2VWFn_{mV(l zzF}aPB#qDn5rL2}bvn=_4CA{gLe#_fKF~s0T@IoT7Y&hRV1UW1Le+Z+KxAP2R(=RS zR2D*`lQ4BKaV@Aim^)zZ!WL$T@Pz3`&`HotAqEW|n7N=l2y*H&c6Wb}YMA?Bbg$5b z3XnJ}ND%|Ve_i{6>_Or%buha9+dCzYILsd~8fHF>52G0vAmxoPB-lY(!TF_)_mac( z!>gY48op=&#Vx4(huMKndqTq)Mq>*bkij6oLTHGc(;yrW3AR&G>7Ls+;dHiV=C=MI zJ0(CeP+a2(W#FK;fEqmv3=9Dd&;W+2BczX5w~C;J&%W~Ls*k?BCRY=-zhYom$OsA_ zsFe%}Pa%m~|2nAk1rudph=At}%yJr{3bhQI4iN;A;PBxT-X<42#r<}uwv#!?P9cyC d8itjrpvE6a3dV=gATba|=Mx(adWdjf004(2zij{j diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/libpcsxcore/psxdma.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/libpcsxcore/psxdma.gcda index 8b8f6ba1f43c886c614a5532fe499bfba13b51aa..fc59f0f2ed94c5e98108c24844505362f53b6712 100644 GIT binary patch literal 1172 zcmYdHNlw=?v2--qm@CNl#AgXuH@tLK_cGsUGRerI4< z$jHS&3Rnp;j)8$;JtN3$B%O>Pvwv9L)s;QPr5_s^paL>m3P}O&nfTon-It@MDnG4z zN3+2aklRq*k6*8DWOtNPoB>O!XloouuNVUZ!xWH*N$^w!E2?5>K!W23Rc0k48>#>r z4-)ndU{c>LK=qJ9iF>FBgVe*^3!^6_2D*X7VeW*{u=IQn>MvMc`MzAAcgN~g zrRz35ISL9>83qOhv}lC$(ZxabPzSGM6k=dtxSUc24mFrPFq(8bAnE4^nqPN4pX8kS X!}=3)xd5{R7mctRHUIoVn9TqHpHfY8 literal 1096 zcmYdHNlw=?v2@&jCE1FBfngyN0|Nsq0|NuISPMG?0|O&70|SHUGy$t-&$;>H(i6Wk zFf3%`Vqjo6%*Fr)FdEFkN~~mr2(M=ZnY|FogPHxq@~*B*RJv|#WPl3DY$=FhlE?)g z>rvFpf;_;$z_1Kq7m7TBgX*>g2=!op>qd4*Ez0L;QewNM4|1Cb0|P@HKSDP?)&((C z*_oh#WME)`(Foa9#52O<2E*R~g zf6xG%xVVRkFi0HcUKl+gG0+Vp4s#cbW?+DXB~rQo$Mg5)`n)?B&)0SjsRk zFf2iYH^?Z4MNqyjn8(0S3gtt&44||PVx!X_G2-w_Mj-|UhRZ2c;FJQh4@Q?pt&;

3&E)QCNl#AL&6Kwv~wp9f1VuvY6k~3=9nG89`>~fCz{jBghP<*8wW?dL}u(`&AwbGJ^}G@*q1{ z#d;|Hsw)J{_v+*T(*ao!8r|%_U|BE$Hv8MZC2XQh)`vgh&ccT8CWaplHJZLmg|9mkR&t~0U%D`SAs zAUi>B^0N{w0%`ct2qGC6VCFC|K>T$FA`BwIZh5oow?(y0@s%CT21`J00hzuXVl)HD zOprpD-lK4FNVrZdYjtQ#cb1$ Is3?d602v!da{vGU diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/libpcsxcore/psxhw.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/libpcsxcore/psxhw.gcda index 29f386825ee99e6ab38bb77ada39996d9a10389c..e79fc32df8d359ade72d6b845cd28c71df4c68bd 100644 GIT binary patch literal 3676 zcmYdHNlw=?v2?t$hFh>S@>vZ-Ggg5Mwy46nED-*{g&D+tVo7xOmq2sVU~@k#K43J$e=8Z; z7#J94S1hjuiNWMyG^|`GK#Oz6B5U@kH`tugmg}zr#km|vGZZg^#(fZ|0AXNY;DL(I zhSEaNFd|kRR2v=&;s@LcAnCRO%@5CZ#gtlebZh5^x=jT6!3DPg7&6B=FocK_xD5*o zqEurlqLsa-p@_giwUstyNIJqga6RLA=%jJ&iR^&ptV0H%xNtynM2sF1hk=0smTpi* zsn4UAy}TI^w||m{&@es&10-F~s@>%Sl7WfCXjtAXM+?h3m(ZFzuD`py_E%j7g{2Gw z0|U%2@1c3GA7mgB{sa{#RvnU7988GYaY(}38zpFNzY#jG_TAyf;mB2F;{~W0#J~WfkJfR6wdE&4Jq!)w_HXZ$KoT%@Fd7!d zhhfSYAa=!B@UaKnD|nQ=W(Nn%u5Vl*6BroKX^1F@T*(N^{(Ibn13)}0&7#KLAG)N4@oDL#D6*iOxr7Z{(Qa1LZnLQ!n zQ*z(diKQ{7Z5|-AL4h+7TAo8Gh;|Z4gcYcoaEYU;Lgt~SgFb`-;B=7BmBb)ca6#I# z_`_Y0+d*NDteZGCsvSsrz;+}|nV`TZm$Vw29k6C5AsRgnzN7g=>Q%gW>h-tg*zD+n zMgk!k-Ht72b{x}obJe-@MdskvpdFyF;zLR!6)+D#J&%iz5JwHOTWEHPmaH{@Xcd1H zn}48I5J92ZfusQ(FDJKdN!@qjm=`VWDEHScFHVeCPY~1G3<@()Ir9UW$c&&4f<_O6 zDU^>M4|Zr_v*FnMYV)C~R!trx0QV1}Uj-5$*hlgBG9(w=L5-s$|g W5o89)T`(oMXmoe2hFQhHzyJWfrT|6& literal 3292 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 W1K;G4`*N`P3K&gny6Z=z0R{k8VlkWm literal 14632 zcmYdHNlw=?v2+Z)nry|uz_5^sfq{XQfq{Wptc9I{fq{{kfq|iv`KK$pXbKcSa*KzdIU040BjwE0QnKZf{-vijE0C}BZ+g1CPFLNe_u|QCSTs(IRD1GwYDI) za3SOw%%N;)G#bifU|=B5PA!B6u$>>A*B1JlSVo%3#J)zi6QL9ri#R)xbc5~mVJhal zEcWO;HRDn0Q6!JfoGtGQ?#^0b)~ICQ&7VuTH3MM@@9pP zX@J+Y4>xXu!U{Q^A;lFAChj=r!Jz}cF!sDYLC!yQDbru!TXVL22Dy>k_@t(rzRQ~x zN?Nebr)Ik4EZpGss_JGVHO>6B>wKbz8^kCJ(6`*jYRyhNSDC}{|yt`RO z)mgEL(sBcz9XeMo)?dq&-9<|~BtOM?yq}QuutiY}+@7L#9>(WCHOFU+Pc|()Moa&F zi(|GEoOQI9mUc{cn=YgH$~=IUcKDr}r?}d7p3Gm-SFWHmE&~ZzI+M7|Dssx|>8vsK zYtHa2r)F88;QYwz(z3YRJoej$pm36)O9 z?p~XEo0?%h)2virvBs+($J``14dh08)IVz;NJ*cXkWe34 z7W@`uCoD{$Uc^C>mrfNG^)vs6=zpSzU8@e9W>Hd~ypk4aX?N1xh=7(DeOj2kwxr+1 zajCcet)2Jgf#O35M+}fBOkTY0xpq@RfiL<;MGLFUU~yBs;}td^{s&z2NK0*w*KAo7 zmOQ10T@${x=IgAQ;7kv@t}zKZZ7~x&LW^`<@a$)H+0)N)v@pBA!bG9w_3|`Ym|d22 zBC4#Q^BFzD|M%*@8d~cYMA5^p==4pMK_UxdX%S{#N1v#!KBCu23$tS`f3y5@@KufX z^jpcGvWFgZqHp1X)Z+cCC(_f-vS(|nH&2MrJ+IE^4)P~G`%hD*e2-bxV)JVt>@I({ z-r@86J7)*NZsAW+;sW}s`Ub-8#GpSyehXhr8VI|uGYMBtT&cfI#s7FJD6P@5&G%xp z7vH^2d2i`qSK+hY0W2$3^yp#NKY7WRQt4Y_^suY0!c2Pg{2y8LuuH+5Bi4DDP|OBS zwgsTHAwph5lYlPr+MyvlE0ve+>z5gfZhLq4x=NHx(ytHCx66aVjh1=pmdGK2?pvI* z>0wu{=z{QBmnOcV<(Slz+fQ;9<*TdG(vF)_CxiO-v%l;$aV-VK5B@O^^3vzGTOx)X zf)j7jq8*eP&ug-B;->Ec!3ip~a{oiIPZs8N+2ORb|p8c5Q_#Sb&u_)1XF$@uW*x<9mtAE!r4M82i)KBtA*2V1x#PE0u>O3kr0XVCyg zS*gXj)HJjDTdKBJzsD8-gni(7Dq5C-w*2?AzxBMSr-xnl6H2_c*d<&4e0cp8D9zHM z?1=rS7kq2(IssbR(Z|j!z*SY?NJ~5Z&)O&VG*);GE$#SKzS>-K$$mRp+EHfc>GX4Y zN-!<$*sx=Z;Z&#J9JI89_f@mmny_>GXlaLSWuvo8nYu46?QlP77;b3jbuMs!-YQTY zq-ELiuied~`rp4QTGoSk8k~$>Op<45X$RxmRHd@>te0qM$4yn^=!Dnr^63#T6P>iO zt=j(1rKNwC-Vjsy&3Cttn)Tv0zmSyIr}!MHY39N&M#fV<9;51-w36%)rtD_YYDXe95Q${sU%wg8yQ%)s4nOaq=yrvq zi_cEg^GAm6moKuV4>W{v~`~i+4FV&(dQa#b;+xq1fb`*XU_y-nskHW~aB^ zre#UpYt(7pQ|E$x`{-Z|RYh^dQ~c8Gf2F?m z)VlpOE$uiUbXP|p+2%1l({fkgNtMIpi@$$d^fDh*&kp1oWL>|LdXHBx6P4><9|m#@ zX#EtCjVv;h;U3>3ukC<+-JI)B0ZA79d#ml!taFEppPumQu(=BFESh2!a|`4rJu*Un z@MyuE4j^vC9otG%cZtQ(W^30yoaWjBvZq)g_6H2ilvx)1!l4qB{Twl6=?!RIx_vIJ> Dp+7fW diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/libpcsxcore/psxmem.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/libpcsxcore/psxmem.gcda index 45cef99f9f94fddd95a31ad0b6339817dc39a20e..8e913f566a51e4aaaeaf2e437a28295f9a574af4 100644 GIT binary patch literal 2180 zcmYdHNlw=?v2+yJlroEffngyN0|Nsi0|P_H?ti=>CNl#A!^BO0-93|^IxP5{!^gm| zkdcRh9Iz5(ECU0>dPa~PNG33X>?r!bwOpnCtBU(nha`|4LP!c`%?GJqVAxp)5rokY z9s@(x@f$EEm`3L_Fsx)`V_;zLVJhYXDS*ktXqcO#5Do*o>1w-zp;Y$W&=$9cF`+c7 zU1ex?P1&n$wxzKCJ~q2xjz41rF$zXQcnl0o_aJE%#s{T62pf{_i_q)}{CKG7#Lt_A4W5PQ!N973dA4=keQ(LEEJO~2NHsb!)RE%DZw1ezyJsn5{w4L1t{Ia!T}}@qhbDaLG!QJruOXp8&uR{3-?|G`Bw^RF^B@02cmIdLh`uu zA;ckZir}NNmQ2hS28qDzfzco_>==?S!I~fn!08YaCPI6S_9KTM%q$oU3O|Szh#9VE w;RJGvxq)2u@5f7HK;Z<6BbZ(o4JtDrWc(>$p3V0jTngUkk*2{S_pApy>(_oS{DY0R6Ky-d2s0%Qg#pTd;DXo!A<*)Tqg#;p!D zUfN+ApykjVpAAI^HaV%vtbdsWvReYl{RpMlS?G3RsDg$SJdZ>9=;6VS&XgHS0UKHyxl1R($ zwE7HkvkVd8h%f@=G6W`79HA36uHoShb>j}16%uhwDKnANDk!~z^uuUS+@PQFE^7w)UyOl)feU0X7K}?Ai&7jykT_j3F<%&@0A?PH z28oe|A$eO6p$Y6KP#9D%3+Y1+FPI%L8Wdg-Z4fgQ(ZU7fMsowX>feu-#(=^Flonxn cVKgYbA!a~Gm=WkSOdX6yw;NCNl#AL&Q~4o*mJ%7=D~RyqAGt zAtMI^Fi-5oG7H*fZiX{VQWa8s^B8Vkg8L{AOG1`D1S4 zDW4jZ`Rg#qY#xwDAsQJT?8feDsAHk3K-6-m&`PjBOD0YA2Z=s}>W9%V|Lp=vLNM5W z7wq3i`khg_w4>Qz3CInoVSq3jq6K>x1v|7DF7cV;@4u~<31o%@L@}70b%nTC0xKqo zK)6kaBz=SwL;M(u2ncXE^>%JCO`W-|`)rrUN{}BxaTR0Z1`hlA*$^{fG)x>KicBKh z3=xIc6@q40yoY7_`ONQccl=ep0ZoRJN$vXzVw>Gg~tJ0WZ^3AXcD>=|*TiWetB8s^B8Vkg)H2K;7Q?D=EP zwJ+{tROYY4AhUTG7#Lt~$jIS^7=cE@u8nD|H?_rtlxxrpy$6w_uAiMY&7#MsXfl@MphUmv6Vd@Yv2s`noVTfB& zp(z2DU#6ZAm5DfX?8Q#!&y66rfbt70{otY*7*OqeRC7ia+ST zMFQsfwO0kK1KBBql%^3%K_(*7I!v5eG_oH+aqV-eNEKuwy7{)eta;ePVSZ}^NkT9< y9XGYbIKY-8jA diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/libpcsxcore/sio.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/libpcsxcore/sio.gcda index 4a650a58aff73e16ea7134668440750bd7163164..1d236fbfaf1710851fb1314c2f107a49db17b7a9 100644 GIT binary patch literal 6672 zcmYdHNlw=?v2>iUDPh_xm zhk*Nvr^M2e4mkze-=V>uA7LHeDV5Dth0oAq?+Or;dV470Z6DsVV} z2X;WRc+G?=fKmwOK?Q~#g&H4P2>*e@aQ&o4CL6b3lfJL>5(UKv3j+hgR}Y9H7>yne z7ZHI5Hp4pjJ=eKEa%?-A4VHk+KyC7(+7B@qOoH{!uBu?0QL{n?S+7w9Se^mh-V12< z{+_jwW%BIE5@fwFo#=WI;tXJWQ|B3)v3CcUAnPslhp9q!^Jz4DcQ1Py$<}M)%(5uV z4CG%i1_p+W$q>CEVGueFG+NBSz@P%*!byZt5FvEF1yr9ZL>eOuP9Zda{o!}xXMKdS z-DPBdfZ`CM9n~Kv(Dc6hm{+`R%kF?@aXVx{{s84gSlDMm-Epo6ViJ0I9!E2)PjGpm zr+>~TV%%{OO|O8cy0bIq7HMR?Fk8{>MTkSC=H`vX#nPJMBGADpz~qsA+nJ9 z2N)Yfqsw~;fkYV?wm|7-2p2vE59Knz?19PGLnR(U^+A&^R1|l3!NM^C8g4Lu!8Jk| zF#BLMLfuM6kRPTQ+%N?xg_#GVPlQ@UViSj{M~@GfdUWxQxEN1t<{0cOEWsuY8}mJb Ha3})+dm!L} literal 6672 zcmYdHNlw=?v2L^wqy88Tfzc2c4S~@R7!85Z5TJGl;BRA?)P6JPJ|$ZFe5%GTP#Z%D zi}j#!DlEcu5JGkP2}EBI+@tBFE2+3|#(c#2H4MU`~0uICVlNy<9+8uo>3D@43$Xkz?D@Y_J4m1}q*y3efdJ#K0t2@9e4ywiz`m zRFL(?rNS&gb^B_VFmxRD_pFU9lV?YkAnOI23?@+Zf`uRi*xuB6hGy*D0Vc?Lm5;$( zj;ePln!UT1J&k1RHF0KH6lMnUuNVUZ1N#(+qLr}_+S3eT*(3-BC(-jII)95PMCnur z#eg1u%OJ*sWWoOMyYaI=LfP&zvOiAC!xW+VV+l+c8h-CS<`u8ovOC~e+zuI#KR|gA z7WQA}gREd+P?!tTglg6zm@w3=KEdUMp8h$Xklj&a0x<*K4~xWMTk>iHqjQg2<~t z{j(oR>p^LVECa(7C<7MPFg{EfI-gLQL6=wYf>?0N8$x$N4TjkV5oKV2r74(vEmU2R z4@AXB2n8o`g%?cxJv7{e;5twlGoajQP#U3bC8G)h1H&|f8{pIqGY>|e2(^j?X@T)! lG)z5ue8AMBi+9Aucw#fhU}s?oHgN_9$oS@RXt;pX008K(&zJxJ diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/libpcsxcore/spu.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/libpcsxcore/spu.gcda index f1725a048e26a6109028d135944bee92bd9cd173..4bf2a3eb6baf3e16cce834fd0c099a518d6f4e79 100644 GIT binary patch delta 37 tcmX@Xbb?7HF(o-&%f!<0!KRd13=9klnHU%t7#SECI(Gl#-6*5O2msn$3X}i< delta 37 scmX@Xbb?7HF(o-&%f!<0&edcq1_p+OObiSRtPBhc%wjF<8)bAD0m-)rtN;K2 diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/plugins/cdrcimg/cdrcimg.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/plugins/cdrcimg/cdrcimg.gcda deleted file mode 100644 index ffc427e27d47b259284ce53e7664c533af966770..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2136 zcmYdHNlw=?v2^@>JK2hXfngyN0|Nsq0|NuISPMG?0|O&70|SH2$rWt(n?IjlGC%() z1H(c_HU@lPIU_`NC6r#z2r?5Q1}4E~PW%5i$b$QC-;QR3B_K0V)evU}*Y@i8c`4Ob zMY4{ngUkp58$U`=Cj^!gh-duqTQ0>E>e-d`<&F33bD+2}qmH8nsVT&zS2f&JQapC~b7`NubUOd@gml$hZm zf7f#Vjt?%Bm=T@2$YSZwS0WdVNpXVW%?3S+Mg$*`4)ND}*z37vQjMO4)1wotY;=x* n!jO-mFhjTnVhnaWyUVv){rDg1MM>QMP3ug^oH9+AOfwh&v(t~1 diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/plugins/dfsound/dma.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/plugins/dfsound/dma.gcda index 516ff2509ffa63f6edc8760e308f68852533147d..66f4df5da01e165e77fc9ff2e9279e25570e6d74 100644 GIT binary patch literal 352 zcmYdHNlw=?v2<+Pl`@NgfngyN0|Nsi0|P_H?ti=>CNl#A!{wAJ<}V4m8&0e{@|l5Q zA)^=r0|P4qDnRF>$|86bP$rCqav2c(<&10$3=9YULu5d10kII~uV!Qc$)5y~$nIFn z2y*+5|Hrq2)H5)w2lIcz3}9ej1o@>jYMtEs{nl#Q|62q>e&K;ACXrkYHFY(VUJIom Ib|M=F0Ez7+NdN!< literal 352 zcmYdHNlw=?v2@hGm2Abpz_5^sfq{XQfq{Wptc9I{fq{{kfq~(2N)_{$gxw7%)*boG zz_5@}jDdk+5hDW_uz^VihB;8a155xaj!qeu;4fzc8^HpR>42IGGoOKB zH6uu>K|ltq03p7X5#;tC|K+!VB^cI&`8T2ZVSXu%S||5@zqOk7{}w@zUw9Z87(n_! ddSLW{%^)5=yc}xkYAC%HN<-{?3gv-J003`wBpd($ diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/plugins/dfsound/freeze.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/plugins/dfsound/freeze.gcda index 47a5b28dee6dfb5db506087794b2497de9ca8c89..2e68fcbe48daefa5b670d37a03ab1c69a42817b0 100644 GIT binary patch literal 1036 zcmYdHNlw=?v2=Xxk~NEgfngyN0|Nsi0|P_H?ti=>CNl#A!-|Jz^=nyn*I)fmXw1N{ zkdcFd7_b~<36l4w~XmA4IEy?BD@ej-&|0gc<;L zABZmjB2d)fw^J2iG1$%(9+QJ)8s^_HZTV*ovNH*49*BY|h0!p(L2}qIA$e?iKw>cS zL2M9)`3b}ZVVJov8YBk7Fg}b1i4lW|RgX&@3)B*ryA_~(n0jJqs5W?9!uSY!IinDQ zLj~4qMo^j}-JrFMY6Zw$K;@iHy3j&o_<^fl8BhRkjZoM1|};s zY%+Nk)4GWj0vvyfl0zr%+toQafmvp90;3ejkoz+_c@D|B1ng)wSOPMHX`-(gBLe_U Cia19A diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/plugins/dfsound/nullsnd.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/plugins/dfsound/nullsnd.gcda index e832e24d1ff1a31d362d0d07b4af18dd1f25ad44..e43aa9b48d87c5c97c10fa92899a51d9760df19b 100644 GIT binary patch delta 37 tcmZ3&w1i0}F(o-&%f!-g>+Y0U3=9klnHU%t7#SECI(Gl#-6+Gs2ms8y3I+fG delta 37 scmZ3&w1i0}F(o-&%f!+#@OH8l0|UcCCI$uuRt5$JX0aCbjWQgJ0J6~sy8r+H diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/plugins/dfsound/out.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/plugins/dfsound/out.gcda index 72ae5e9235aefb7bf5a336dace1cb7c5d0d80241..361eab1e4db0dd55fbc4d0b26af0e397d18ef54b 100644 GIT binary patch literal 172 zcmYdHNlw=?v2KboovOxz_5^sfq{XQfq{Wptc9I{fq{{kfq~&dq-@#WYo)U%7fQ%5 wFf3#gU|?VXsbj!HgXEAgOg%zuB_kUH1H(Z}XOMLm<}om=X9VeqLugCNl#AL#ZB5u=Ac52abGHD_~$) z$jHTj04G2S5L_&*<&11tL=i&k89{b(f(VEpBgn|(O4~ga%)i8p&Cban1rW73NaF0| zK(q79iP@q}2?6{+LxP$>{^Y@7I)35hpx|R*V1W1wNiEo4{f1&RA&jHhgYSt5|I#|5yJ#5alJ<2An{D6KN$SjbyJ5a6PplV?>1KcyHWog&{pMxC8z`$@)2*PiL()G}=gwZFUX2Q}A zEZrW0ibIWIaDW)Ya34yetA`3RutOP8?ch8E5`yuUfH({c3>HxO3Y4~n(xg&Q@4&Tz z(hZ0MigOUn4d{ir7 zU|7h=#ee{O5(qYS)^bKR>=IDX^^71p-!MYCP&wcxPyzrC4P4s{pI1a#Wj16>5dKLYX`0|SFH3xux#p%|7R z?1YM-x@j6h9vo(~E0)*J-y^(K%k-2L$W40~7#J?$p!`0l|3PU0Bm|=^q3U2X%)P^%Mh_QIm>^?yCEMB3)4E#_Aj3zd|FF^GbKxs@0HIJ}C;}xV108vF;00000 diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/plugins/dfsound/spu.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/plugins/dfsound/spu.gcda index c3b2ce00432994c99ee97bbff663bdc0db7c20a0..f9241c9c64a39380553f167b5706e5f28cdb6cca 100644 GIT binary patch literal 10124 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 DW6sys diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/plugins/gpu_unai/gpulib_if.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/plugins/gpu_unai/gpulib_if.gcda new file mode 100644 index 0000000000000000000000000000000000000000..0ba2cdb7a001e07e13a5bdf8edb68e423ed5a605 GIT binary patch literal 150832 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 literal 0 HcmV?d00001 diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/plugins/gpu_unai/old/if.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/plugins/gpu_unai/old/if.gcda new file mode 100644 index 0000000000000000000000000000000000000000..67f39c3e8bfebb3ced5ffbd8e828d13723142bab GIT binary patch literal 58496 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 literal 0 HcmV?d00001 diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/plugins/gpu_unai_old/gpulib_if.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/plugins/gpu_unai_old/gpulib_if.gcda deleted file mode 100644 index c461925e94b754013ad15d5e0d3c855f6ac1c13a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59096 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 diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/plugins/gpulib/gpu.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/plugins/gpulib/gpu.gcda index bfb544b846b90e9ded1f63eaeaa16ba4b84e6527..8846e50861e874e6615f37390493f3612b7a9063 100644 GIT binary patch literal 5196 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 diff --git a/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/plugins/gpulib/prim.gcda b/board/miyoo/profile/uclibc/libretro-pcsx_rearmed/plugins/gpulib/prim.gcda new file mode 100644 index 0000000000000000000000000000000000000000..e97e3ff8c8b1855b8138650880360b8fc42eb9dc GIT binary patch literal 732 zcmYdHNlw=?v2^6#lQN5efngyN0|Nsi0|P_H?ti=>CNl#ALydZ-aGg~tHzC=`2y)XZjiR#8oPPeuZdwdgQMOIf@BBSEf=i!Cap3s5Ui>#wgS0@2T1`ed=Sn@ zl0;$Rw{tDR0I;2<+S@DnligS8X2yg4&w*kVF3xgBHe6C*@zsnhU>coRiE%&2aaNkbn&y66nIk1?GX%@t;ud_02L1tsh zL;T^1X4g}ZoYd7!fe91lPrU=P3#1=EhS-H$4a6=ad9c5{{+>58_4&8r^ZyNwAiLxk z7#Pk#9SWn7^njVT#KDqC1iCtOK1?Y>d?lk0Ob`qGYN2%%NEoIbMxSj>H^n9ni_3*j z|A3+lluokk{^aw`QaKqGFnK@7&l(`jX!tBb51I^qF1kJ#A4bEBg}MC{Q~;d@xf5g) zjAmef#BY(cSQN52LLL&oi=gJg{5o$Hm%C$k;S}WjgiwN-pAMjIeyNezIC{+~|gD$WvnU+JPJe F#Q=I3TGapm diff --git a/package/miyoo/retroarch/libretro-pcsx_rearmed/0001-Makefile.libretro-add-MIYOO-optimize-flags.patch b/package/miyoo/retroarch/libretro-pcsx_rearmed/0001-Makefile.libretro-add-MIYOO-optimize-flags.patch new file mode 100644 index 00000000..d4fe1e34 --- /dev/null +++ b/package/miyoo/retroarch/libretro-pcsx_rearmed/0001-Makefile.libretro-add-MIYOO-optimize-flags.patch @@ -0,0 +1,55 @@ +From 74e0c8c8f675fc9e07a04e15960cbf1ac2f98997 Mon Sep 17 00:00:00 2001 +From: Apaczer <94932128+Apaczer@users.noreply.github.com> +Date: Thu, 13 Mar 2025 23:12:39 +0100 +Subject: [PATCH] Makefile.libretro: add MIYOO optimize flags + +with PGO instructions (no LTO cuz we target dynamic linking here), also reduce optimization to -O2 for profiler +--- + Makefile.libretro | 26 ++++++++++++++++++++++++-- + 1 file changed, 24 insertions(+), 2 deletions(-) + +diff --git a/Makefile.libretro b/Makefile.libretro +index 2197946c..1b0f7a2e 100644 +--- a/Makefile.libretro ++++ b/Makefile.libretro +@@ -607,13 +607,35 @@ else ifneq (,$(findstring armv,$(platform))) + + else ifeq ($(platform), miyoo) + TARGET := $(TARGET_NAME)_libretro.so +- fpic := -fPIC +- CFLAGS += -mcpu=arm926ej-s -fsingle-precision-constant ++ LIBC ?= $(shell $(CC) -print-file-name=libc.so | grep -q musl && echo "musl" || echo "glibc") ++ifeq ($(LIBC),musl) ++ fpic := -fPIC # brakes otherwise shared object core when profiling with gcc ++else ++ fpic := -fno-PIC ++endif ++ CFLAGS += -mcpu=arm926ej-s -fsingle-precision-constant \ ++ -O2 -fdata-sections -ffunction-sections -fsingle-precision-constant + CFLAGS += -DGPU_UNAI_USE_INT_DIV_MULTINV -D_MIYOO ++ CFLAGS += -fno-common -fno-ipa-cp -fno-caller-saves -fno-regmove -finline-limit=42 \ ++ -fuse-linker-plugin \ ++ -fno-stack-protector -fno-ident -fomit-frame-pointer \ ++ -fno-unroll-loops -ffast-math \ ++ -marm ++ CXXFLAGS += $(CFLAGS) ++ CPPFLAGS += $(CFLAGS) ++ ASFLAGS += $(CFLAGS) ++ THREAD_RENDERING := 1 + ARCH = arm + BUILTIN_GPU = unai + DYNAREC = ari64 + HAVE_NEON = 0 ++ BASE_ADDR_DYNAMIC := 1 ++ifeq ($(PROFILE), YES) ++ CFLAGS += -fprofile-generate=/mnt/profile # rm path if you want dir structure intact at runtime ++ LDFLAGS += -lgcov ++else ifeq ($(PROFILE), APPLY) ++ CFLAGS += -fprofile-use -fbranch-probabilities -Wno-error=coverage-mismatch ++endif + + # Emscripten + else ifeq ($(platform), emscripten) +-- +2.45.2.windows.1 + diff --git a/package/miyoo/retroarch/libretro-pcsx_rearmed/0001-use-unai-old-gpu.patch b/package/miyoo/retroarch/libretro-pcsx_rearmed/0001-use-unai-old-gpu.patch deleted file mode 100644 index 65d5c9b0..00000000 --- a/package/miyoo/retroarch/libretro-pcsx_rearmed/0001-use-unai-old-gpu.patch +++ /dev/null @@ -1,4912 +0,0 @@ -diff --git a/Makefile b/Makefile -index 4786a922..e27ec29b 100644 ---- a/Makefile -+++ b/Makefile -@@ -9,7 +9,7 @@ else - ifeq ($(platform), $(filter $(platform), vita ctr)) - CFLAGS += -O3 -DNDEBUG - else --CFLAGS += -O2 -DNDEBUG -+CFLAGS += -O3 -DNDEBUG - endif - endif - ifeq ($(DEBUG_ASAN), 1) -@@ -231,20 +231,20 @@ CFLAGS += -DTHREAD_RENDERING - OBJS += plugins/gpulib/gpulib_thread_if.o - endif - endif --ifeq "$(BUILTIN_GPU)" "unai" -+ifeq "$(BUILTIN_GPU)" "unai_old" - CFLAGS += -DGPU_UNAI - CFLAGS += -DUSE_GPULIB=1 - #CFLAGS += -DINLINE="static __inline__" - #CFLAGS += -Dasm="__asm__ __volatile__" --OBJS += plugins/gpu_unai/gpulib_if.o -+OBJS += plugins/gpu_unai_old/gpulib_if.o - ifeq "$(ARCH)" "arm" --OBJS += plugins/gpu_unai/gpu_arm.o -+OBJS += plugins/gpu_unai_old/gpu_arm.o - endif - ifeq "$(THREAD_RENDERING)" "1" - CFLAGS += -DTHREAD_RENDERING - OBJS += plugins/gpulib/gpulib_thread_if.o - endif --plugins/gpu_unai/gpulib_if.o: CFLAGS += -DREARMED -O3 -+plugins/gpu_unai_old/gpulib_if.o: CFLAGS += -DREARMED -Ofast - CC_LINK = $(CXX) - endif - -diff --git a/Makefile.libretro b/Makefile.libretro -index 1169d892..9df8fe28 100644 ---- a/Makefile.libretro -+++ b/Makefile.libretro -@@ -536,7 +536,7 @@ else ifeq ($(platform), miyoo) - CFLAGS += -mcpu=arm926ej-s -fsingle-precision-constant - CFLAGS += -DGPU_UNAI_USE_INT_DIV_MULTINV -D_MIYOO - ARCH = arm -- BUILTIN_GPU = unai -+ BUILTIN_GPU = unai_old - DYNAREC = ari64 - HAVE_NEON = 0 - -diff --git a/plugins/gpu_unai_old/Makefile b/plugins/gpu_unai_old/Makefile -new file mode 100644 -index 00000000..1f4b8bdb ---- /dev/null -+++ b/plugins/gpu_unai_old/Makefile -@@ -0,0 +1,16 @@ -+CFLAGS += -ggdb -Wall -O3 -ffast-math -+CFLAGS += -DREARMED -+CFLAGS += -I../../include -+ -+include ../../config.mak -+ -+SRC_STANDALONE += gpu.cpp -+SRC_GPULIB += gpulib_if.cpp -+ -+ifeq "$(ARCH)" "arm" -+SRC += gpu_arm.S -+endif -+ -+#BIN_STANDALONE = gpuPCSX4ALL.so -+BIN_GPULIB = gpu_unai_old.so -+include ../gpulib/gpulib.mak -diff --git a/plugins/gpu_unai_old/debug.h b/plugins/gpu_unai_old/debug.h -new file mode 100644 -index 00000000..e69de29b -diff --git a/plugins/gpu_unai_old/gpu.cpp b/plugins/gpu_unai_old/gpu.cpp -new file mode 100644 -index 00000000..1552bed9 ---- /dev/null -+++ b/plugins/gpu_unai_old/gpu.cpp -@@ -0,0 +1,915 @@ -+/*************************************************************************** -+* Copyright (C) 2010 PCSX4ALL Team * -+* Copyright (C) 2010 Unai * -+* * -+* This program is free software; you can redistribute it and/or modify * -+* it under the terms of the GNU General Public License as published by * -+* the Free Software Foundation; either version 2 of the License, or * -+* (at your option) any later version. * -+* * -+* This program is distributed in the hope that it will be useful, * -+* but WITHOUT ANY WARRANTY; without even the implied warranty of * -+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * -+* GNU General Public License for more details. * -+* * -+* You should have received a copy of the GNU General Public License * -+* along with this program; if not, write to the * -+* Free Software Foundation, Inc., * -+* 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307 USA. * -+***************************************************************************/ -+ -+#include "port.h" -+#include "gpu.h" -+#include "profiler.h" -+#include "debug.h" -+ -+int skipCount = 2; /* frame skip (0,1,2,3...) */ -+int skCount = 0; /* internal frame skip */ -+int linesInterlace = 0; /* internal lines interlace */ -+int linesInterlace_user = 0; /* Lines interlace */ -+ -+bool isSkip = false; /* skip frame (info coming from GPU) */ -+bool wasSkip = false; -+bool skipFrame = false; /* skip frame (according to frame skip) */ -+bool alt_fps = false; /* Alternative FPS algorithm */ -+bool show_fps = false; /* Show FPS statistics */ -+ -+bool isPAL = false; /* PAL video timing */ -+bool progressInterlace_flag = false; /* Progressive interlace flag */ -+bool progressInterlace = false; /* Progressive interlace option*/ -+bool frameLimit = false; /* frames to wait */ -+ -+bool light = true; /* lighting */ -+bool blend = true; /* blending */ -+bool FrameToRead = false; /* load image in progress */ -+bool FrameToWrite = false; /* store image in progress */ -+bool fb_dirty = false; -+ -+bool enableAbbeyHack = false; /* Abe's Odyssey hack */ -+ -+u8 BLEND_MODE; -+u8 TEXT_MODE; -+u8 Masking; -+ -+u16 PixelMSB; -+u16 PixelData; -+ -+/////////////////////////////////////////////////////////////////////////////// -+// GPU Global data -+/////////////////////////////////////////////////////////////////////////////// -+ -+/////////////////////////////////////////////////////////////////////////////// -+// Dma Transfers info -+s32 px,py; -+s32 x_end,y_end; -+u16* pvram; -+ -+u32 GP0; -+s32 PacketCount; -+s32 PacketIndex; -+ -+/////////////////////////////////////////////////////////////////////////////// -+// Display status -+u32 DisplayArea [6]; -+ -+/////////////////////////////////////////////////////////////////////////////// -+// Rasterizer status -+u32 TextureWindow [4]; -+u32 DrawingArea [4]; -+u32 DrawingOffset [2]; -+ -+/////////////////////////////////////////////////////////////////////////////// -+// Rasterizer status -+ -+u16* TBA; -+u16* CBA; -+ -+/////////////////////////////////////////////////////////////////////////////// -+// Inner Loops -+s32 u4, du4; -+s32 v4, dv4; -+s32 r4, dr4; -+s32 g4, dg4; -+s32 b4, db4; -+u32 lInc; -+u32 tInc, tMsk; -+ -+GPUPacket PacketBuffer; -+// FRAME_BUFFER_SIZE is defined in bytes; 512K is guard memory for out of range reads -+u16 GPU_FrameBuffer[(FRAME_BUFFER_SIZE+512*1024)/2] __attribute__((aligned(2048))); -+u32 GPU_GP1; -+ -+/////////////////////////////////////////////////////////////////////////////// -+// Inner loop driver instanciation file -+#include "gpu_inner.h" -+ -+/////////////////////////////////////////////////////////////////////////////// -+// GPU Raster Macros -+#define GPU_RGB16(rgb) ((((rgb)&0xF80000)>>9)|(((rgb)&0xF800)>>6)|(((rgb)&0xF8)>>3)) -+ -+#define GPU_EXPANDSIGN(x) (((s32)(x)<<21)>>21) -+ -+#define CHKMAX_X 1024 -+#define CHKMAX_Y 512 -+ -+#define GPU_SWAP(a,b,t) {(t)=(a);(a)=(b);(b)=(t);} -+ -+/////////////////////////////////////////////////////////////////////////////// -+// GPU internal image drawing functions -+#include "gpu_raster_image.h" -+ -+/////////////////////////////////////////////////////////////////////////////// -+// GPU internal line drawing functions -+#include "gpu_raster_line.h" -+ -+/////////////////////////////////////////////////////////////////////////////// -+// GPU internal polygon drawing functions -+#include "gpu_raster_polygon.h" -+ -+/////////////////////////////////////////////////////////////////////////////// -+// GPU internal sprite drawing functions -+#include "gpu_raster_sprite.h" -+ -+/////////////////////////////////////////////////////////////////////////////// -+// GPU command buffer execution/store -+#include "gpu_command.h" -+ -+/////////////////////////////////////////////////////////////////////////////// -+INLINE void gpuReset(void) -+{ -+ GPU_GP1 = 0x14802000; -+ TextureWindow[0] = 0; -+ TextureWindow[1] = 0; -+ TextureWindow[2] = 255; -+ TextureWindow[3] = 255; -+ DrawingArea[2] = 256; -+ DrawingArea[3] = 240; -+ DisplayArea[2] = 256; -+ DisplayArea[3] = 240; -+ DisplayArea[5] = 240; -+} -+ -+/////////////////////////////////////////////////////////////////////////////// -+bool GPU_init(void) -+{ -+ gpuReset(); -+ -+ // s_invTable -+ for(int i=1;i<=(1<>1); -+ #else -+ v *= double(0x80000000); -+ #endif -+ s_invTable[i-1]=s32(v); -+ } -+ return (0); -+} -+ -+/////////////////////////////////////////////////////////////////////////////// -+void GPU_shutdown(void) -+{ -+} -+ -+/////////////////////////////////////////////////////////////////////////////// -+long GPU_freeze(unsigned int bWrite, GPUFreeze_t* p2) -+{ -+ if (!p2) return (0); -+ if (p2->Version != 1) return (0); -+ -+ if (bWrite) -+ { -+ p2->GPU_gp1 = GPU_GP1; -+ memset(p2->Control, 0, sizeof(p2->Control)); -+ // save resolution and registers for P.E.Op.S. compatibility -+ p2->Control[3] = (3 << 24) | ((GPU_GP1 >> 23) & 1); -+ p2->Control[4] = (4 << 24) | ((GPU_GP1 >> 29) & 3); -+ p2->Control[5] = (5 << 24) | (DisplayArea[0] | (DisplayArea[1] << 10)); -+ p2->Control[6] = (6 << 24) | (2560 << 12); -+ p2->Control[7] = (7 << 24) | (DisplayArea[4] | (DisplayArea[5] << 10)); -+ p2->Control[8] = (8 << 24) | ((GPU_GP1 >> 17) & 0x3f) | ((GPU_GP1 >> 10) & 0x40); -+ memcpy(p2->FrameBuffer, (u16*)GPU_FrameBuffer, FRAME_BUFFER_SIZE); -+ return (1); -+ } -+ else -+ { -+ GPU_GP1 = p2->GPU_gp1; -+ memcpy((u16*)GPU_FrameBuffer, p2->FrameBuffer, FRAME_BUFFER_SIZE); -+ GPU_writeStatus((5 << 24) | p2->Control[5]); -+ GPU_writeStatus((7 << 24) | p2->Control[7]); -+ GPU_writeStatus((8 << 24) | p2->Control[8]); -+ gpuSetTexture(GPU_GP1); -+ return (1); -+ } -+ return (0); -+} -+ -+/////////////////////////////////////////////////////////////////////////////// -+// GPU DMA comunication -+ -+/////////////////////////////////////////////////////////////////////////////// -+u8 PacketSize[256] = -+{ -+ 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0-15 -+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 16-31 -+ 3, 3, 3, 3, 6, 6, 6, 6, 4, 4, 4, 4, 8, 8, 8, 8, // 32-47 -+ 5, 5, 5, 5, 8, 8, 8, 8, 7, 7, 7, 7, 11, 11, 11, 11, // 48-63 -+ 2, 2, 2, 2, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 3, // 64-79 -+ 3, 3, 3, 3, 0, 0, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, // 80-95 -+ 2, 2, 2, 2, 3, 3, 3, 3, 1, 1, 1, 1, 2, 2, 2, 2, // 96-111 -+ 1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2, // 112-127 -+ 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 128- -+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 144 -+ 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 160 -+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // -+ 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // -+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // -+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // -+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 // -+}; -+ -+/////////////////////////////////////////////////////////////////////////////// -+INLINE void gpuSendPacket() -+{ -+#ifdef DEBUG_ANALYSIS -+ dbg_anacnt_GPU_sendPacket++; -+#endif -+ gpuSendPacketFunction(PacketBuffer.U4[0]>>24); -+} -+ -+/////////////////////////////////////////////////////////////////////////////// -+INLINE void gpuCheckPacket(u32 uData) -+{ -+ if (PacketCount) -+ { -+ PacketBuffer.U4[PacketIndex++] = uData; -+ --PacketCount; -+ } -+ else -+ { -+ PacketBuffer.U4[0] = uData; -+ PacketCount = PacketSize[uData >> 24]; -+ PacketIndex = 1; -+ } -+ if (!PacketCount) gpuSendPacket(); -+} -+ -+/////////////////////////////////////////////////////////////////////////////// -+void GPU_writeDataMem(u32* dmaAddress, s32 dmaCount) -+{ -+#ifdef DEBUG_ANALYSIS -+ dbg_anacnt_GPU_writeDataMem++; -+#endif -+ pcsx4all_prof_pause(PCSX4ALL_PROF_CPU); -+ pcsx4all_prof_start_with_pause(PCSX4ALL_PROF_GPU,PCSX4ALL_PROF_HW_WRITE); -+ u32 data; -+ const u16 *VIDEO_END=(GPU_FrameBuffer+(FRAME_BUFFER_SIZE/2)-1); -+ GPU_GP1 &= ~0x14000000; -+ -+ while (dmaCount) -+ { -+ if (FrameToWrite) -+ { -+ while (dmaCount) -+ { -+ dmaCount--; -+ data = *dmaAddress++; -+ if ((&pvram[px])>(VIDEO_END)) pvram-=512*1024; -+ pvram[px] = data; -+ if (++px>=x_end) -+ { -+ px = 0; -+ pvram += 1024; -+ if (++py>=y_end) -+ { -+ FrameToWrite = false; -+ GPU_GP1 &= ~0x08000000; -+ break; -+ } -+ } -+ if ((&pvram[px])>(VIDEO_END)) pvram-=512*1024; -+ pvram[px] = data>>16; -+ if (++px>=x_end) -+ { -+ px = 0; -+ pvram += 1024; -+ if (++py>=y_end) -+ { -+ FrameToWrite = false; -+ GPU_GP1 &= ~0x08000000; -+ break; -+ } -+ } -+ } -+ } -+ else -+ { -+ data = *dmaAddress++; -+ dmaCount--; -+ gpuCheckPacket(data); -+ } -+ } -+ -+ GPU_GP1 = (GPU_GP1 | 0x14000000) & ~0x60000000; -+ fb_dirty = true; -+ pcsx4all_prof_end_with_resume(PCSX4ALL_PROF_GPU,PCSX4ALL_PROF_HW_WRITE); -+ pcsx4all_prof_resume(PCSX4ALL_PROF_CPU); -+} -+ -+u32 *lUsedAddr[3]; -+INLINE int CheckForEndlessLoop(u32 *laddr) -+{ -+ if(laddr==lUsedAddr[1]) return 1; -+ if(laddr==lUsedAddr[2]) return 1; -+ -+ if(laddr> 2)); -+ if(DMACommandCounter++ > 2000000) break; -+ if(CheckForEndlessLoop(address)) break; -+ data = *address++; -+ count = (data >> 24); -+ offset = data & 0x001FFFFF; -+ if (dmaVAddr != offset) dmaVAddr = offset; -+ else dmaVAddr = 0x1FFFFF; -+ -+ if(count>0) GPU_writeDataMem(address,count); -+ dma_words += 1 + count; -+ } -+ GPU_GP1 = (GPU_GP1 | 0x14000000) & ~0x60000000; -+ pcsx4all_prof_end_with_resume(PCSX4ALL_PROF_GPU,PCSX4ALL_PROF_HW_WRITE); -+ -+ return dma_words; -+} -+ -+/////////////////////////////////////////////////////////////////////////////// -+void GPU_writeData(u32 data) -+{ -+ const u16 *VIDEO_END=(GPU_FrameBuffer+(FRAME_BUFFER_SIZE/2)-1); -+#ifdef DEBUG_ANALYSIS -+ dbg_anacnt_GPU_writeData++; -+#endif -+ pcsx4all_prof_pause(PCSX4ALL_PROF_CPU); -+ pcsx4all_prof_start_with_pause(PCSX4ALL_PROF_GPU,PCSX4ALL_PROF_HW_WRITE); -+ GPU_GP1 &= ~0x14000000; -+ -+ if (FrameToWrite) -+ { -+ if ((&pvram[px])>(VIDEO_END)) pvram-=512*1024; -+ pvram[px]=(u16)data; -+ if (++px>=x_end) -+ { -+ px = 0; -+ pvram += 1024; -+ if (++py>=y_end) -+ { -+ FrameToWrite = false; -+ GPU_GP1 &= ~0x08000000; -+ } -+ } -+ if (FrameToWrite) -+ { -+ if ((&pvram[px])>(VIDEO_END)) pvram-=512*1024; -+ pvram[px]=data>>16; -+ if (++px>=x_end) -+ { -+ px = 0; -+ pvram += 1024; -+ if (++py>=y_end) -+ { -+ FrameToWrite = false; -+ GPU_GP1 &= ~0x08000000; -+ } -+ } -+ } -+ } -+ else -+ { -+ gpuCheckPacket(data); -+ } -+ GPU_GP1 |= 0x14000000; -+ fb_dirty = true; -+ pcsx4all_prof_end_with_resume(PCSX4ALL_PROF_GPU,PCSX4ALL_PROF_HW_WRITE); -+ pcsx4all_prof_resume(PCSX4ALL_PROF_CPU); -+ -+} -+ -+ -+/////////////////////////////////////////////////////////////////////////////// -+void GPU_readDataMem(u32* dmaAddress, s32 dmaCount) -+{ -+ const u16 *VIDEO_END=(GPU_FrameBuffer+(FRAME_BUFFER_SIZE/2)-1); -+#ifdef DEBUG_ANALYSIS -+ dbg_anacnt_GPU_readDataMem++; -+#endif -+ if(!FrameToRead) return; -+ -+ pcsx4all_prof_start_with_pause(PCSX4ALL_PROF_GPU,PCSX4ALL_PROF_HW_WRITE); -+ GPU_GP1 &= ~0x14000000; -+ do -+ { -+ if ((&pvram[px])>(VIDEO_END)) pvram-=512*1024; -+ // lower 16 bit -+ u32 data = pvram[px]; -+ -+ if (++px>=x_end) -+ { -+ px = 0; -+ pvram += 1024; -+ } -+ -+ if ((&pvram[px])>(VIDEO_END)) pvram-=512*1024; -+ // higher 16 bit (always, even if it's an odd width) -+ data |= (u32)(pvram[px])<<16; -+ -+ *dmaAddress++ = data; -+ -+ if (++px>=x_end) -+ { -+ px = 0; -+ pvram += 1024; -+ if (++py>=y_end) -+ { -+ FrameToRead = false; -+ GPU_GP1 &= ~0x08000000; -+ break; -+ } -+ } -+ } while (--dmaCount); -+ -+ GPU_GP1 = (GPU_GP1 | 0x14000000) & ~0x60000000; -+ pcsx4all_prof_end_with_resume(PCSX4ALL_PROF_GPU,PCSX4ALL_PROF_HW_WRITE); -+} -+ -+ -+ -+/////////////////////////////////////////////////////////////////////////////// -+u32 GPU_readData(void) -+{ -+ const u16 *VIDEO_END=(GPU_FrameBuffer+(FRAME_BUFFER_SIZE/2)-1); -+#ifdef DEBUG_ANALYSIS -+ dbg_anacnt_GPU_readData++; -+#endif -+ pcsx4all_prof_pause(PCSX4ALL_PROF_CPU); -+ pcsx4all_prof_start_with_pause(PCSX4ALL_PROF_GPU,PCSX4ALL_PROF_HW_READ); -+ GPU_GP1 &= ~0x14000000; -+ if (FrameToRead) -+ { -+ if ((&pvram[px])>(VIDEO_END)) pvram-=512*1024; -+ GP0 = pvram[px]; -+ if (++px>=x_end) -+ { -+ px = 0; -+ pvram += 1024; -+ if (++py>=y_end) -+ { -+ FrameToRead = false; -+ GPU_GP1 &= ~0x08000000; -+ } -+ } -+ if ((&pvram[px])>(VIDEO_END)) pvram-=512*1024; -+ GP0 |= pvram[px]<<16; -+ if (++px>=x_end) -+ { -+ px = 0; -+ pvram +=1024; -+ if (++py>=y_end) -+ { -+ FrameToRead = false; -+ GPU_GP1 &= ~0x08000000; -+ } -+ } -+ -+ } -+ GPU_GP1 |= 0x14000000; -+ -+ pcsx4all_prof_end_with_resume(PCSX4ALL_PROF_GPU,PCSX4ALL_PROF_HW_READ); -+ pcsx4all_prof_resume(PCSX4ALL_PROF_CPU); -+ return (GP0); -+} -+ -+/////////////////////////////////////////////////////////////////////////////// -+u32 GPU_readStatus(void) -+{ -+#ifdef DEBUG_ANALYSIS -+ dbg_anacnt_GPU_readStatus++; -+#endif -+ return GPU_GP1; -+} -+ -+/////////////////////////////////////////////////////////////////////////////// -+void GPU_writeStatus(u32 data) -+{ -+#ifdef DEBUG_ANALYSIS -+ dbg_anacnt_GPU_writeStatus++; -+#endif -+ pcsx4all_prof_pause(PCSX4ALL_PROF_CPU); -+ pcsx4all_prof_start_with_pause(PCSX4ALL_PROF_GPU,PCSX4ALL_PROF_HW_WRITE); -+ switch (data >> 24) { -+ case 0x00: -+ gpuReset(); -+ break; -+ case 0x01: -+ GPU_GP1 &= ~0x08000000; -+ PacketCount = 0; FrameToRead = FrameToWrite = false; -+ break; -+ case 0x02: -+ GPU_GP1 &= ~0x08000000; -+ PacketCount = 0; FrameToRead = FrameToWrite = false; -+ break; -+ case 0x03: -+ GPU_GP1 = (GPU_GP1 & ~0x00800000) | ((data & 1) << 23); -+ break; -+ case 0x04: -+ if (data == 0x04000000) -+ PacketCount = 0; -+ GPU_GP1 = (GPU_GP1 & ~0x60000000) | ((data & 3) << 29); -+ break; -+ case 0x05: -+ DisplayArea[0] = (data & 0x000003FF); //(short)(data & 0x3ff); -+ DisplayArea[1] = ((data & 0x0007FC00)>>10); //(data & 0x000FFC00) >> 10; //(short)((data>>10)&0x1ff); -+ fb_dirty = true; -+ wasSkip = isSkip; -+ if (isSkip) -+ isSkip = false; -+ else -+ isSkip = skipFrame; -+ break; -+ case 0x07: -+ DisplayArea[4] = data & 0x000003FF; //(short)(data & 0x3ff); -+ DisplayArea[5] = (data & 0x000FFC00) >> 10; //(short)((data>>10) & 0x3ff); -+ fb_dirty = true; -+ break; -+ case 0x08: -+ { -+ GPU_GP1 = (GPU_GP1 & ~0x007F0000) | ((data & 0x3F) << 17) | ((data & 0x40) << 10); -+ static u32 HorizontalResolution[8] = { 256, 368, 320, 384, 512, 512, 640, 640 }; -+ DisplayArea[2] = HorizontalResolution[(GPU_GP1 >> 16) & 7]; -+ static u32 VerticalResolution[4] = { 240, 480, 256, 480 }; -+ DisplayArea[3] = VerticalResolution[(GPU_GP1 >> 19) & 3]; -+ isPAL = (data & 0x08) ? true : false; // if 1 - PAL mode, else NTSC -+ } -+ fb_dirty = true; -+ break; -+ case 0x10: -+ switch (data & 0xffff) { -+ case 0: -+ case 1: -+ case 3: -+ GP0 = (DrawingArea[1] << 10) | DrawingArea[0]; -+ break; -+ case 4: -+ GP0 = ((DrawingArea[3]-1) << 10) | (DrawingArea[2]-1); -+ break; -+ case 6: -+ case 5: -+ GP0 = (DrawingOffset[1] << 11) | DrawingOffset[0]; -+ break; -+ case 7: -+ GP0 = 2; -+ break; -+ default: -+ GP0 = 0; -+ } -+ break; -+ } -+ pcsx4all_prof_end_with_resume(PCSX4ALL_PROF_GPU,PCSX4ALL_PROF_HW_WRITE); -+ pcsx4all_prof_resume(PCSX4ALL_PROF_CPU); -+} -+ -+#ifndef REARMED -+ -+// Blitting functions -+#include "gpu_blit.h" -+ -+INLINE void gpuVideoOutput(void) -+{ -+ static s16 old_res_horz, old_res_vert, old_rgb24; -+ s16 h0, x0, y0, w0, h1; -+ -+ x0 = DisplayArea[0]; -+ y0 = DisplayArea[1]; -+ -+ w0 = DisplayArea[2]; -+ h0 = DisplayArea[3]; // video mode -+ -+ h1 = DisplayArea[5] - DisplayArea[4]; // display needed -+ if (h0 == 480) h1 = Min2(h1*2,480); -+ -+ u16* dest_screen16 = SCREEN; -+ u16* src_screen16 = &((u16*)GPU_FrameBuffer)[FRAME_OFFSET(x0,y0)]; -+ u32 isRGB24 = (GPU_GP1 & 0x00200000 ? 32 : 0); -+ -+ /* Clear the screen if resolution changed to prevent interlacing and clipping to clash */ -+ if( (w0 != old_res_horz || h1 != old_res_vert || (s16)isRGB24 != old_rgb24) ) -+ { -+ // Update old resolution -+ old_res_horz = w0; -+ old_res_vert = h1; -+ old_rgb24 = (s16)isRGB24; -+ // Finally, clear the screen for this special case -+ video_clear(); -+ } -+ -+ // Height centering -+ int sizeShift = 1; -+ if(h0==256) h0 = 240; else if(h0==480) sizeShift = 2; -+ if(h1>h0) { src_screen16 += ((h1-h0)>>sizeShift)*1024; h1 = h0; } -+ else if(h1>sizeShift)*VIDEO_WIDTH; -+ -+ /* Main blitter */ -+ int incY = (h0==480) ? 2 : 1; -+ h0=(h0==480 ? 2048 : 1024); -+ -+ { -+ const int li=linesInterlace; -+ bool pi=progressInterlace; -+ bool pif=progressInterlace_flag; -+ switch ( w0 ) -+ { -+ case 256: -+ for(int y1=y0+h1; y0=1000000) -+ { -+ u32 expected_fps=(isPAL?50:60); -+ sprintf(msg,"FPS=%3d/%2d SPD=%3d%%",((real_fps*(12-skipCount))/12),((expected_fps*(12-skipCount))/12),((real_fps*100)/expected_fps)); -+ prev=now; -+ real_fps=0; -+ } -+ port_printf(5,5,msg); -+ } -+ -+ // Update frame-skip -+ if (!alt_fps) -+ { -+ // Video frame-skip -+ skipFrame=skipTable[skipCount][skCount]; -+ skCount--; if (skCount<0) skCount=11; -+ isSkip=skipFrame; -+ } -+ else -+ { -+ // Game frame-skip -+ if (!isSkip) -+ { -+ skipFrame=skipTable[skipCount][skCount]; -+ skCount--; if (skCount<0) skCount=11; -+ isSkip=true; -+ } -+ } -+ fb_dirty=false; -+ -+ pcsx4all_prof_end_with_resume(PCSX4ALL_PROF_GPU,PCSX4ALL_PROF_COUNTERS); -+} -+ -+#else -+ -+#include "../../frontend/plugin_lib.h" -+ -+extern "C" { -+ -+static const struct rearmed_cbs *cbs; -+static s16 old_res_horz, old_res_vert, old_rgb24; -+ -+static void blit(void) -+{ -+ u16 *base = (u16 *)GPU_FrameBuffer; -+ s16 isRGB24 = (GPU_GP1 & 0x00200000) ? 1 : 0; -+ s16 h0, x0, y0, w0, h1; -+ -+ x0 = DisplayArea[0] & ~1; // alignment needed by blitter -+ y0 = DisplayArea[1]; -+ base += FRAME_OFFSET(x0, y0); -+ -+ w0 = DisplayArea[2]; -+ h0 = DisplayArea[3]; // video mode -+ -+ h1 = DisplayArea[5] - DisplayArea[4]; // display needed -+ if (h0 == 480) h1 = Min2(h1*2,480); -+ -+ if (h1 <= 0) -+ return; -+ -+ if (w0 != old_res_horz || h1 != old_res_vert || isRGB24 != old_rgb24) -+ { -+ old_res_horz = w0; -+ old_res_vert = h1; -+ old_rgb24 = (s16)isRGB24; -+ cbs->pl_vout_set_mode(w0, h1, w0, h1, isRGB24 ? 24 : 16); -+ } -+ -+ cbs->pl_vout_flip(base, 1024, isRGB24, w0, h1); -+} -+ -+void GPU_updateLace(void) -+{ -+ // Interlace bit toggle -+ GPU_GP1 ^= 0x80000000; -+ -+ if (!fb_dirty || (GPU_GP1&0x08800000)) -+ return; -+ -+ if (!wasSkip) { -+ blit(); -+ fb_dirty = false; -+ skCount = 0; -+ } -+ else { -+ skCount++; -+ if (skCount >= 8) -+ wasSkip = isSkip = 0; -+ } -+ -+ skipFrame = cbs->fskip_advice || cbs->frameskip == 1; -+} -+ -+long GPUopen(unsigned long *, char *, char *) -+{ -+ cbs->pl_vout_open(); -+ return 0; -+} -+ -+long GPUclose(void) -+{ -+ cbs->pl_vout_close(); -+ return 0; -+} -+ -+long GPUfreeze(unsigned int ulGetFreezeData, GPUFreeze_t* p2) -+{ -+ if (ulGetFreezeData > 1) -+ return 0; -+ -+ return GPU_freeze(ulGetFreezeData, p2); -+} -+ -+void GPUrearmedCallbacks(const struct rearmed_cbs *cbs_) -+{ -+ enableAbbeyHack = cbs_->gpu_unai.abe_hack; -+ light = !cbs_->gpu_unai.no_light; -+ blend = !cbs_->gpu_unai.no_blend; -+ if (cbs_->pl_vout_set_raw_vram) -+ cbs_->pl_vout_set_raw_vram((void *)GPU_FrameBuffer); -+ -+ cbs = cbs_; -+ if (cbs->pl_set_gpu_caps) -+ cbs->pl_set_gpu_caps(0); -+} -+ -+} /* extern "C" */ -+ -+#endif -diff --git a/plugins/gpu_unai_old/gpu.h b/plugins/gpu_unai_old/gpu.h -new file mode 100644 -index 00000000..18116303 ---- /dev/null -+++ b/plugins/gpu_unai_old/gpu.h -@@ -0,0 +1,87 @@ -+/*************************************************************************** -+* Copyright (C) 2010 PCSX4ALL Team * -+* Copyright (C) 2010 Unai * -+* * -+* This program is free software; you can redistribute it and/or modify * -+* it under the terms of the GNU General Public License as published by * -+* the Free Software Foundation; either version 2 of the License, or * -+* (at your option) any later version. * -+* * -+* This program is distributed in the hope that it will be useful, * -+* but WITHOUT ANY WARRANTY; without even the implied warranty of * -+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * -+* GNU General Public License for more details. * -+* * -+* You should have received a copy of the GNU General Public License * -+* along with this program; if not, write to the * -+* Free Software Foundation, Inc., * -+* 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307 USA. * -+***************************************************************************/ -+ -+#ifndef NEW_GPU_H -+#define NEW_GPU_H -+ -+/////////////////////////////////////////////////////////////////////////////// -+// GPU global definitions -+#define FRAME_BUFFER_SIZE (1024*512*2) -+#define FRAME_WIDTH 1024 -+#define FRAME_HEIGHT 512 -+#define FRAME_OFFSET(x,y) (((y)<<10)+(x)) -+ -+#define VIDEO_WIDTH 320 -+ -+typedef char s8; -+typedef signed short s16; -+typedef signed int s32; -+typedef signed long long s64; -+ -+typedef unsigned char u8; -+typedef unsigned short u16; -+typedef unsigned int u32; -+typedef unsigned long long u64; -+ -+#include "gpu_fixedpoint.h" -+ -+/////////////////////////////////////////////////////////////////////////////// -+// Tweaks and Hacks -+extern int skipCount; -+extern bool enableAbbeyHack; -+extern bool show_fps; -+extern bool alt_fps; -+ -+/////////////////////////////////////////////////////////////////////////////// -+// interlaced rendering -+extern int linesInterlace_user; -+extern bool progressInterlace; -+ -+extern bool light; -+extern bool blend; -+ -+typedef struct { -+ u32 Version; -+ u32 GPU_gp1; -+ u32 Control[256]; -+ unsigned char FrameBuffer[1024*512*2]; -+} GPUFreeze_t; -+ -+struct GPUPacket -+{ -+ union -+ { -+ u32 U4[16]; -+ s32 S4[16]; -+ u16 U2[32]; -+ s16 S2[32]; -+ u8 U1[64]; -+ s8 S1[64]; -+ }; -+}; -+ -+/////////////////////////////////////////////////////////////////////////////// -+// Compile Options -+ -+//#define ENABLE_GPU_NULL_SUPPORT // Enables NullGPU support -+//#define ENABLE_GPU_LOG_SUPPORT // Enables gpu logger, very slow only for windows debugging -+ -+/////////////////////////////////////////////////////////////////////////////// -+#endif // NEW_GPU_H -diff --git a/plugins/gpu_unai_old/gpu_arm.S b/plugins/gpu_unai_old/gpu_arm.S -new file mode 100644 -index 00000000..8fa44a7a ---- /dev/null -+++ b/plugins/gpu_unai_old/gpu_arm.S -@@ -0,0 +1,55 @@ -+/* -+ * (C) Gražvydas "notaz" Ignotas, 2011 -+ * -+ * This work is licensed under the terms of GNU GPL, version 2 or later. -+ * See the COPYING file in the top-level directory. -+ */ -+ -+ -+.text -+.align 2 -+ -+@ in: r0=dst, r2=pal, r12=0x1e -+@ trashes r6-r8,lr,flags -+.macro do_4_pixels rs ibase obase -+.if \ibase - 1 < 0 -+ and r6, r12, \rs, lsl #1 -+.else -+ and r6, r12, \rs, lsr #\ibase-1 -+.endif -+ and r7, r12, \rs, lsr #\ibase+3 -+ and r8, r12, \rs, lsr #\ibase+7 -+ and lr, r12, \rs, lsr #\ibase+11 -+ ldrh r6, [r2, r6] -+ ldrh r7, [r2, r7] -+ ldrh r8, [r2, r8] -+ ldrh lr, [r2, lr] -+ tst r6, r6 -+ strneh r6, [r0, #\obase+0] -+ tst r7, r7 -+ strneh r7, [r0, #\obase+2] -+ tst r8, r8 -+ strneh r8, [r0, #\obase+4] -+ tst lr, lr -+ strneh lr, [r0, #\obase+6] -+.endm -+ -+.global draw_spr16_full @ (u16 *d, void *s, u16 *pal, int lines) -+draw_spr16_full: -+ stmfd sp!, {r4-r8,lr} -+ mov r12, #0x1e @ empty pixel -+ -+0: -+ ldmia r1, {r4,r5} -+ do_4_pixels r4, 0, 0 -+ do_4_pixels r4, 16, 8 -+ do_4_pixels r5, 0, 16 -+ do_4_pixels r5, 16, 24 -+ subs r3, r3, #1 -+ add r0, r0, #2048 -+ add r1, r1, #2048 -+ bgt 0b -+ -+ ldmfd sp!, {r4-r8,pc} -+ -+@ vim:filetype=armasm -diff --git a/plugins/gpu_unai_old/gpu_arm.h b/plugins/gpu_unai_old/gpu_arm.h -new file mode 100644 -index 00000000..a0b22487 ---- /dev/null -+++ b/plugins/gpu_unai_old/gpu_arm.h -@@ -0,0 +1,9 @@ -+#ifdef __cplusplus -+extern "C" { -+#endif -+ -+void draw_spr16_full(u16 *d, void *s, u16 *pal, int lines); -+ -+#ifdef __cplusplus -+} -+#endif -diff --git a/plugins/gpu_unai_old/gpu_blit.h b/plugins/gpu_unai_old/gpu_blit.h -new file mode 100644 -index 00000000..35cd056e ---- /dev/null -+++ b/plugins/gpu_unai_old/gpu_blit.h -@@ -0,0 +1,405 @@ -+/*************************************************************************** -+* Copyright (C) 2010 PCSX4ALL Team * -+* Copyright (C) 2010 Unai * -+* * -+* This program is free software; you can redistribute it and/or modify * -+* it under the terms of the GNU General Public License as published by * -+* the Free Software Foundation; either version 2 of the License, or * -+* (at your option) any later version. * -+* * -+* This program is distributed in the hope that it will be useful, * -+* but WITHOUT ANY WARRANTY; without even the implied warranty of * -+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * -+* GNU General Public License for more details. * -+* * -+* You should have received a copy of the GNU General Public License * -+* along with this program; if not, write to the * -+* Free Software Foundation, Inc., * -+* 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307 USA. * -+***************************************************************************/ -+ -+#ifndef _INNER_BLIT_H_ -+#define _INNER_BLIT_H_ -+ -+#ifndef USE_BGR15 -+#define RGB24(R,G,B) (((((R)&0xF8)<<8)|(((G)&0xFC)<<3)|(((B)&0xF8)>>3))) -+#define RGB16X2(C) (((C)&(0x1f001f<<10))>>10) | (((C)&(0x1f001f<<5))<<1) | (((C)&(0x1f001f<<0))<<11) -+#define RGB16(C) (((C)&(0x1f<<10))>>10) | (((C)&(0x1f<<5))<<1) | (((C)&(0x1f<<0))<<11) -+#else -+#define RGB24(R,G,B) ((((R)&0xF8)>>3)|(((G)&0xF8)<<2)|(((B)&0xF8)<<7)) -+#endif -+ -+/////////////////////////////////////////////////////////////////////////////// -+// GPU Blitting code with rescale and interlace support. -+ -+INLINE void GPU_BlitWW(const void* src, u16* dst16, u32 isRGB24) -+{ -+ u32 uCount; -+ if(isRGB24 == 0) -+ { -+ #ifndef USE_BGR15 -+ uCount = 20; -+ const u32* src32 = (const u32*) src; -+ u32* dst32 = (u32*)(void*) dst16; -+ do{ -+ dst32[0] = RGB16X2(src32[0]); -+ dst32[1] = RGB16X2(src32[1]); -+ dst32[2] = RGB16X2(src32[2]); -+ dst32[3] = RGB16X2(src32[3]); -+ dst32[4] = RGB16X2(src32[4]); -+ dst32[5] = RGB16X2(src32[5]); -+ dst32[6] = RGB16X2(src32[6]); -+ dst32[7] = RGB16X2(src32[7]); -+ dst32 += 8; -+ src32 += 8; -+ }while(--uCount); -+ #else -+ memcpy(dst16,src,640); -+ #endif -+ } -+ else -+ { -+ uCount = 20; -+ const u8* src8 = (const u8*)src; -+ do{ -+ dst16[ 0] = RGB24(src8[ 0], src8[ 1], src8[ 2] ); -+ dst16[ 1] = RGB24(src8[ 3], src8[ 4], src8[ 5] ); -+ dst16[ 2] = RGB24(src8[ 6], src8[ 7], src8[ 8] ); -+ dst16[ 3] = RGB24(src8[ 9], src8[10], src8[11] ); -+ dst16[ 4] = RGB24(src8[12], src8[13], src8[14] ); -+ dst16[ 5] = RGB24(src8[15], src8[16], src8[17] ); -+ dst16[ 6] = RGB24(src8[18], src8[19], src8[20] ); -+ dst16[ 7] = RGB24(src8[21], src8[22], src8[23] ); -+ -+ dst16[ 8] = RGB24(src8[24], src8[25], src8[26] ); -+ dst16[ 9] = RGB24(src8[27], src8[28], src8[29] ); -+ dst16[10] = RGB24(src8[30], src8[31], src8[32] ); -+ dst16[11] = RGB24(src8[33], src8[34], src8[35] ); -+ dst16[12] = RGB24(src8[36], src8[37], src8[38] ); -+ dst16[13] = RGB24(src8[39], src8[40], src8[41] ); -+ dst16[14] = RGB24(src8[42], src8[43], src8[44] ); -+ dst16[15] = RGB24(src8[45], src8[46], src8[47] ); -+ dst16 += 16; -+ src8 += 48; -+ }while(--uCount); -+ } -+} -+ -+INLINE void GPU_BlitWWSWWSWS(const void* src, u16* dst16, u32 isRGB24) -+{ -+ u32 uCount; -+ if(isRGB24 == 0) -+ { -+ #ifndef USE_BGR15 -+ uCount = 32; -+ const u16* src16 = (const u16*) src; -+ do{ -+ dst16[ 0] = RGB16(src16[0]); -+ dst16[ 1] = RGB16(src16[1]); -+ dst16[ 2] = RGB16(src16[3]); -+ dst16[ 3] = RGB16(src16[4]); -+ dst16[ 4] = RGB16(src16[6]); -+ dst16[ 5] = RGB16(src16[8]); -+ dst16[ 6] = RGB16(src16[9]); -+ dst16[ 7] = RGB16(src16[11]); -+ dst16[ 8] = RGB16(src16[12]); -+ dst16[ 9] = RGB16(src16[14]); -+ dst16 += 10; -+ src16 += 16; -+ }while(--uCount); -+ #else -+ uCount = 64; -+ const u16* src16 = (const u16*) src; -+ do{ -+ *dst16++ = *src16++; -+ *dst16++ = *src16; -+ src16+=2; -+ *dst16++ = *src16++; -+ *dst16++ = *src16; -+ src16+=2; -+ *dst16++ = *src16; -+ src16+=2; -+ }while(--uCount); -+ #endif -+ } -+ else -+ { -+ uCount = 32; -+ const u8* src8 = (const u8*)src; -+ do{ -+ dst16[ 0] = RGB24(src8[ 0], src8[ 1], src8[ 2] ); -+ dst16[ 1] = RGB24(src8[ 3], src8[ 4], src8[ 5] ); -+ dst16[ 2] = RGB24(src8[ 9], src8[10], src8[11] ); -+ dst16[ 3] = RGB24(src8[12], src8[13], src8[14] ); -+ dst16[ 4] = RGB24(src8[18], src8[19], src8[20] ); -+ -+ dst16[ 5] = RGB24(src8[24], src8[25], src8[26] ); -+ dst16[ 6] = RGB24(src8[27], src8[28], src8[29] ); -+ dst16[ 7] = RGB24(src8[33], src8[34], src8[35] ); -+ dst16[ 8] = RGB24(src8[36], src8[37], src8[38] ); -+ dst16[ 9] = RGB24(src8[42], src8[43], src8[44] ); -+ -+ dst16 += 10; -+ src8 += 48; -+ }while(--uCount); -+ } -+} -+ -+INLINE void GPU_BlitWWWWWS(const void* src, u16* dst16, u32 isRGB24) -+{ -+ u32 uCount; -+ if(isRGB24 == 0) -+ { -+ #ifndef USE_BGR15 -+ uCount = 32; -+ const u16* src16 = (const u16*) src; -+ do{ -+ dst16[ 0] = RGB16(src16[0]); -+ dst16[ 1] = RGB16(src16[1]); -+ dst16[ 2] = RGB16(src16[2]); -+ dst16[ 3] = RGB16(src16[3]); -+ dst16[ 4] = RGB16(src16[4]); -+ dst16[ 5] = RGB16(src16[6]); -+ dst16[ 6] = RGB16(src16[7]); -+ dst16[ 7] = RGB16(src16[8]); -+ dst16[ 8] = RGB16(src16[9]); -+ dst16[ 9] = RGB16(src16[10]); -+ dst16 += 10; -+ src16 += 12; -+ }while(--uCount); -+ #else -+ uCount = 64; -+ const u16* src16 = (const u16*) src; -+ do{ -+ *dst16++ = *src16++; -+ *dst16++ = *src16++; -+ *dst16++ = *src16++; -+ *dst16++ = *src16++; -+ *dst16++ = *src16; -+ src16+=2; -+ }while(--uCount); -+ #endif -+ } -+ else -+ { -+ uCount = 32; -+ const u8* src8 = (const u8*)src; -+ do{ -+ dst16[0] = RGB24(src8[ 0], src8[ 1], src8[ 2] ); -+ dst16[1] = RGB24(src8[ 3], src8[ 4], src8[ 5] ); -+ dst16[2] = RGB24(src8[ 6], src8[ 7], src8[ 8] ); -+ dst16[3] = RGB24(src8[ 9], src8[10], src8[11] ); -+ dst16[4] = RGB24(src8[12], src8[13], src8[14] ); -+ dst16[5] = RGB24(src8[18], src8[19], src8[20] ); -+ dst16[6] = RGB24(src8[21], src8[22], src8[23] ); -+ dst16[7] = RGB24(src8[24], src8[25], src8[26] ); -+ dst16[8] = RGB24(src8[27], src8[28], src8[29] ); -+ dst16[9] = RGB24(src8[30], src8[31], src8[32] ); -+ dst16 += 10; -+ src8 += 36; -+ }while(--uCount); -+ } -+} -+ -+INLINE void GPU_BlitWWWWWWWWS(const void* src, u16* dst16, u32 isRGB24, u32 uClip_src) -+{ -+ u32 uCount; -+ if(isRGB24 == 0) -+ { -+ #ifndef USE_BGR15 -+ uCount = 20; -+ const u16* src16 = ((const u16*) src) + uClip_src; -+ do{ -+ dst16[ 0] = RGB16(src16[0]); -+ dst16[ 1] = RGB16(src16[1]); -+ dst16[ 2] = RGB16(src16[2]); -+ dst16[ 3] = RGB16(src16[3]); -+ dst16[ 4] = RGB16(src16[4]); -+ dst16[ 5] = RGB16(src16[5]); -+ dst16[ 6] = RGB16(src16[6]); -+ dst16[ 7] = RGB16(src16[7]); -+ -+ dst16[ 8] = RGB16(src16[9]); -+ dst16[ 9] = RGB16(src16[10]); -+ dst16[10] = RGB16(src16[11]); -+ dst16[11] = RGB16(src16[12]); -+ dst16[12] = RGB16(src16[13]); -+ dst16[13] = RGB16(src16[14]); -+ dst16[14] = RGB16(src16[15]); -+ dst16[15] = RGB16(src16[16]); -+ dst16 += 16; -+ src16 += 18; -+ }while(--uCount); -+ #else -+ uCount = 40; -+ const u16* src16 = ((const u16*) src) + uClip_src; -+ do{ -+ *dst16++ = *src16++; -+ *dst16++ = *src16++; -+ *dst16++ = *src16++; -+ *dst16++ = *src16++; -+ *dst16++ = *src16++; -+ *dst16++ = *src16++; -+ *dst16++ = *src16++; -+ *dst16++ = *src16; -+ src16+=2; -+ }while(--uCount); -+ #endif -+ } -+ else -+ { -+ uCount = 20; -+ const u8* src8 = (const u8*)src + (uClip_src<<1) + uClip_src; -+ do{ -+ dst16[ 0] = RGB24(src8[ 0], src8[ 1], src8[ 2] ); -+ dst16[ 1] = RGB24(src8[ 3], src8[ 4], src8[ 5] ); -+ dst16[ 2] = RGB24(src8[ 6], src8[ 7], src8[ 8] ); -+ dst16[ 3] = RGB24(src8[ 9], src8[10], src8[11] ); -+ dst16[ 4] = RGB24(src8[12], src8[13], src8[14] ); -+ dst16[ 5] = RGB24(src8[15], src8[16], src8[17] ); -+ dst16[ 6] = RGB24(src8[18], src8[19], src8[20] ); -+ dst16[ 7] = RGB24(src8[21], src8[22], src8[23] ); -+ -+ dst16[ 8] = RGB24(src8[27], src8[28], src8[29] ); -+ dst16[ 9] = RGB24(src8[30], src8[31], src8[32] ); -+ dst16[10] = RGB24(src8[33], src8[34], src8[35] ); -+ dst16[11] = RGB24(src8[36], src8[37], src8[38] ); -+ dst16[12] = RGB24(src8[39], src8[40], src8[41] ); -+ dst16[13] = RGB24(src8[42], src8[43], src8[44] ); -+ dst16[14] = RGB24(src8[45], src8[46], src8[47] ); -+ dst16[15] = RGB24(src8[48], src8[49], src8[50] ); -+ dst16 += 16; -+ src8 += 54; -+ }while(--uCount); -+ } -+} -+ -+INLINE void GPU_BlitWWDWW(const void* src, u16* dst16, u32 isRGB24) -+{ -+ u32 uCount; -+ if(isRGB24 == 0) -+ { -+ #ifndef USE_BGR15 -+ uCount = 32; -+ const u16* src16 = (const u16*) src; -+ do{ -+ dst16[ 0] = RGB16(src16[0]); -+ dst16[ 1] = RGB16(src16[1]); -+ dst16[ 2] = dst16[1]; -+ dst16[ 3] = RGB16(src16[2]); -+ dst16[ 4] = RGB16(src16[3]); -+ dst16[ 5] = RGB16(src16[4]); -+ dst16[ 6] = RGB16(src16[5]); -+ dst16[ 7] = dst16[6]; -+ dst16[ 8] = RGB16(src16[6]); -+ dst16[ 9] = RGB16(src16[7]); -+ dst16 += 10; -+ src16 += 8; -+ }while(--uCount); -+ #else -+ uCount = 64; -+ const u16* src16 = (const u16*) src; -+ do{ -+ *dst16++ = *src16++; -+ *dst16++ = *src16; -+ *dst16++ = *src16++; -+ *dst16++ = *src16++; -+ *dst16++ = *src16++; -+ }while(--uCount); -+ #endif -+ } -+ else -+ { -+ uCount = 32; -+ const u8* src8 = (const u8*)src; -+ do{ -+ dst16[ 0] = RGB24(src8[0], src8[ 1], src8[ 2] ); -+ dst16[ 1] = RGB24(src8[3], src8[ 4], src8[ 5] ); -+ dst16[ 2] = dst16[1]; -+ dst16[ 3] = RGB24(src8[6], src8[ 7], src8[ 8] ); -+ dst16[ 4] = RGB24(src8[9], src8[10], src8[11] ); -+ -+ dst16[ 5] = RGB24(src8[12], src8[13], src8[14] ); -+ dst16[ 6] = RGB24(src8[15], src8[16], src8[17] ); -+ dst16[ 7] = dst16[6]; -+ dst16[ 8] = RGB24(src8[18], src8[19], src8[20] ); -+ dst16[ 9] = RGB24(src8[21], src8[22], src8[23] ); -+ dst16 += 10; -+ src8 += 24; -+ }while(--uCount); -+ } -+} -+ -+ -+INLINE void GPU_BlitWS(const void* src, u16* dst16, u32 isRGB24) -+{ -+ u32 uCount; -+ if(isRGB24 == 0) -+ { -+ #ifndef USE_BGR15 -+ uCount = 20; -+ const u16* src16 = (const u16*) src; -+ do{ -+ dst16[ 0] = RGB16(src16[0]); -+ dst16[ 1] = RGB16(src16[2]); -+ dst16[ 2] = RGB16(src16[4]); -+ dst16[ 3] = RGB16(src16[6]); -+ -+ dst16[ 4] = RGB16(src16[8]); -+ dst16[ 5] = RGB16(src16[10]); -+ dst16[ 6] = RGB16(src16[12]); -+ dst16[ 7] = RGB16(src16[14]); -+ -+ dst16[ 8] = RGB16(src16[16]); -+ dst16[ 9] = RGB16(src16[18]); -+ dst16[10] = RGB16(src16[20]); -+ dst16[11] = RGB16(src16[22]); -+ -+ dst16[12] = RGB16(src16[24]); -+ dst16[13] = RGB16(src16[26]); -+ dst16[14] = RGB16(src16[28]); -+ dst16[15] = RGB16(src16[30]); -+ -+ dst16 += 16; -+ src16 += 32; -+ }while(--uCount); -+ #else -+ uCount = 320; -+ const u16* src16 = (const u16*) src; -+ do{ -+ *dst16++ = *src16; src16+=2; -+ }while(--uCount); -+ #endif -+ } -+ else -+ { -+ uCount = 20; -+ const u8* src8 = (const u8*) src; -+ do{ -+ dst16[ 0] = RGB24(src8[ 0], src8[ 1], src8[ 2] ); -+ dst16[ 1] = RGB24(src8[ 6], src8[ 7], src8[ 8] ); -+ dst16[ 2] = RGB24(src8[12], src8[13], src8[14] ); -+ dst16[ 3] = RGB24(src8[18], src8[19], src8[20] ); -+ -+ dst16[ 4] = RGB24(src8[24], src8[25], src8[26] ); -+ dst16[ 5] = RGB24(src8[30], src8[31], src8[32] ); -+ dst16[ 6] = RGB24(src8[36], src8[37], src8[38] ); -+ dst16[ 7] = RGB24(src8[42], src8[43], src8[44] ); -+ -+ dst16[ 8] = RGB24(src8[48], src8[49], src8[50] ); -+ dst16[ 9] = RGB24(src8[54], src8[55], src8[56] ); -+ dst16[10] = RGB24(src8[60], src8[61], src8[62] ); -+ dst16[11] = RGB24(src8[66], src8[67], src8[68] ); -+ -+ dst16[12] = RGB24(src8[72], src8[73], src8[74] ); -+ dst16[13] = RGB24(src8[78], src8[79], src8[80] ); -+ dst16[14] = RGB24(src8[84], src8[85], src8[86] ); -+ dst16[15] = RGB24(src8[90], src8[91], src8[92] ); -+ -+ dst16 += 16; -+ src8 += 96; -+ }while(--uCount); -+ } -+} -+ -+#endif //_INNER_BLIT_H_ -diff --git a/plugins/gpu_unai_old/gpu_command.h b/plugins/gpu_unai_old/gpu_command.h -new file mode 100644 -index 00000000..d6e7a742 ---- /dev/null -+++ b/plugins/gpu_unai_old/gpu_command.h -@@ -0,0 +1,457 @@ -+/*************************************************************************** -+* Copyright (C) 2010 PCSX4ALL Team * -+* Copyright (C) 2010 Unai * -+* * -+* This program is free software; you can redistribute it and/or modify * -+* it under the terms of the GNU General Public License as published by * -+* the Free Software Foundation; either version 2 of the License, or * -+* (at your option) any later version. * -+* * -+* This program is distributed in the hope that it will be useful, * -+* but WITHOUT ANY WARRANTY; without even the implied warranty of * -+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * -+* GNU General Public License for more details. * -+* * -+* You should have received a copy of the GNU General Public License * -+* along with this program; if not, write to the * -+* Free Software Foundation, Inc., * -+* 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307 USA. * -+***************************************************************************/ -+ -+/////////////////////////////////////////////////////////////////////////////// -+INLINE void gpuSetTexture(u16 tpage) -+{ -+ u32 tp; -+ u32 tx, ty; -+ GPU_GP1 = (GPU_GP1 & ~0x1FF) | (tpage & 0x1FF); -+ -+ TextureWindow[0]&= ~TextureWindow[2]; -+ TextureWindow[1]&= ~TextureWindow[3]; -+ -+ tp = (tpage >> 7) & 3; -+ tx = (tpage & 0x0F) << 6; -+ ty = (tpage & 0x10) << 4; -+ if (tp == 3) tp = 2; -+ -+ tx += (TextureWindow[0] >> (2 - tp)); -+ ty += TextureWindow[1]; -+ -+ BLEND_MODE = (((tpage>>5)&0x3) ) << 3; -+ TEXT_MODE = (((tpage>>7)&0x3) + 1 ) << 5; // +1 el cero no lo usamos -+ -+ TBA = &((u16*)GPU_FrameBuffer)[FRAME_OFFSET(tx, ty)]; -+ -+} -+ -+/////////////////////////////////////////////////////////////////////////////// -+INLINE void gpuSetCLUT(u16 clut) -+{ -+ CBA = &((u16*)GPU_FrameBuffer)[(clut & 0x7FFF) << 4]; -+} -+ -+#ifdef ENABLE_GPU_NULL_SUPPORT -+#define NULL_GPU() break -+#else -+#define NULL_GPU() -+#endif -+ -+#ifdef ENABLE_GPU_LOG_SUPPORT -+#define DO_LOG(expr) printf expr -+#else -+#define DO_LOG(expr) {} -+#endif -+ -+#define Blending (((PRIM&0x2)&&(blend))?(PRIM&0x2):0) -+#define Blending_Mode (((PRIM&0x2)&&(blend))?BLEND_MODE:0) -+#define Lighting (((~PRIM)&0x1)&&(light)) -+ -+void gpuSendPacketFunction(const int PRIM) -+{ -+ //printf("0x%x\n",PRIM); -+ -+ switch (PRIM) -+ { -+ case 0x02: -+ NULL_GPU(); -+ gpuClearImage(); // prim handles updateLace && skip -+ DO_LOG(("gpuClearImage(0x%x)\n",PRIM)); -+ break; -+ case 0x20: -+ case 0x21: -+ case 0x22: -+ case 0x23: -+ if (!isSkip) -+ { -+ NULL_GPU(); -+ gpuDrawF3(gpuPolySpanDrivers [Blending_Mode | Masking | Blending | PixelMSB]); -+ DO_LOG(("gpuDrawF3(0x%x)\n",PRIM)); -+ } -+ break; -+ case 0x24: -+ case 0x25: -+ case 0x26: -+ case 0x27: -+ if (!isSkip) -+ { -+ NULL_GPU(); -+ gpuSetCLUT (PacketBuffer.U4[2] >> 16); -+ gpuSetTexture (PacketBuffer.U4[4] >> 16); -+ if ((PacketBuffer.U1[0]>0x5F) && (PacketBuffer.U1[1]>0x5F) && (PacketBuffer.U1[2]>0x5F)) -+ gpuDrawFT3(gpuPolySpanDrivers [Blending_Mode | TEXT_MODE | Masking | Blending | PixelMSB]); -+ else -+ gpuDrawFT3(gpuPolySpanDrivers [Blending_Mode | TEXT_MODE | Masking | Blending | Lighting | PixelMSB]); -+ DO_LOG(("gpuDrawFT3(0x%x)\n",PRIM)); -+ } -+ break; -+ case 0x28: -+ case 0x29: -+ case 0x2A: -+ case 0x2B: -+ if (!isSkip) -+ { -+ NULL_GPU(); -+ const PP gpuPolySpanDriver = gpuPolySpanDrivers [Blending_Mode | Masking | Blending | PixelMSB]; -+ //--PacketBuffer.S2[6]; -+ gpuDrawF3(gpuPolySpanDriver); -+ PacketBuffer.U4[1] = PacketBuffer.U4[4]; -+ //--PacketBuffer.S2[2]; -+ gpuDrawF3(gpuPolySpanDriver); -+ DO_LOG(("gpuDrawF4(0x%x)\n",PRIM)); -+ } -+ break; -+ case 0x2C: -+ case 0x2D: -+ case 0x2E: -+ case 0x2F: -+ if (!isSkip) -+ { -+ NULL_GPU(); -+ gpuSetCLUT (PacketBuffer.U4[2] >> 16); -+ gpuSetTexture (PacketBuffer.U4[4] >> 16); -+ PP gpuPolySpanDriver; -+ if ((PacketBuffer.U1[0]>0x5F) && (PacketBuffer.U1[1]>0x5F) && (PacketBuffer.U1[2]>0x5F)) -+ gpuPolySpanDriver = gpuPolySpanDrivers [Blending_Mode | TEXT_MODE | Masking | Blending | PixelMSB]; -+ else -+ gpuPolySpanDriver = gpuPolySpanDrivers [Blending_Mode | TEXT_MODE | Masking | Blending | Lighting | PixelMSB]; -+ //--PacketBuffer.S2[6]; -+ gpuDrawFT3(gpuPolySpanDriver); -+ PacketBuffer.U4[1] = PacketBuffer.U4[7]; -+ PacketBuffer.U4[2] = PacketBuffer.U4[8]; -+ //--PacketBuffer.S2[2]; -+ gpuDrawFT3(gpuPolySpanDriver); -+ DO_LOG(("gpuDrawFT4(0x%x)\n",PRIM)); -+ } -+ break; -+ case 0x30: -+ case 0x31: -+ case 0x32: -+ case 0x33: -+ if (!isSkip) -+ { -+ NULL_GPU(); -+ gpuDrawG3(gpuPolySpanDrivers [Blending_Mode | Masking | Blending | 129 | PixelMSB]); -+ DO_LOG(("gpuDrawG3(0x%x)\n",PRIM)); -+ } -+ break; -+ case 0x34: -+ case 0x35: -+ case 0x36: -+ case 0x37: -+ if (!isSkip) -+ { -+ NULL_GPU(); -+ gpuSetCLUT (PacketBuffer.U4[2] >> 16); -+ gpuSetTexture (PacketBuffer.U4[5] >> 16); -+ gpuDrawGT3(gpuPolySpanDrivers [Blending_Mode | TEXT_MODE | Masking | Blending | ((Lighting)?129:0) | PixelMSB]); -+ DO_LOG(("gpuDrawGT3(0x%x)\n",PRIM)); -+ } -+ break; -+ case 0x38: -+ case 0x39: -+ case 0x3A: -+ case 0x3B: -+ if (!isSkip) -+ { -+ NULL_GPU(); -+ const PP gpuPolySpanDriver = gpuPolySpanDrivers [Blending_Mode | Masking | Blending | 129 | PixelMSB]; -+ //--PacketBuffer.S2[6]; -+ gpuDrawG3(gpuPolySpanDriver); -+ PacketBuffer.U4[0] = PacketBuffer.U4[6]; -+ PacketBuffer.U4[1] = PacketBuffer.U4[7]; -+ //--PacketBuffer.S2[2]; -+ gpuDrawG3(gpuPolySpanDriver); -+ DO_LOG(("gpuDrawG4(0x%x)\n",PRIM)); -+ } -+ break; -+ case 0x3C: -+ case 0x3D: -+ case 0x3E: -+ case 0x3F: -+ if (!isSkip) -+ { -+ NULL_GPU(); -+ gpuSetCLUT (PacketBuffer.U4[2] >> 16); -+ gpuSetTexture (PacketBuffer.U4[5] >> 16); -+ const PP gpuPolySpanDriver = gpuPolySpanDrivers [Blending_Mode | TEXT_MODE | Masking | Blending | ((Lighting)?129:0) | PixelMSB]; -+ //--PacketBuffer.S2[6]; -+ gpuDrawGT3(gpuPolySpanDriver); -+ PacketBuffer.U4[0] = PacketBuffer.U4[9]; -+ PacketBuffer.U4[1] = PacketBuffer.U4[10]; -+ PacketBuffer.U4[2] = PacketBuffer.U4[11]; -+ //--PacketBuffer.S2[2]; -+ gpuDrawGT3(gpuPolySpanDriver); -+ DO_LOG(("gpuDrawGT4(0x%x)\n",PRIM)); -+ } -+ break; -+ case 0x40: -+ case 0x41: -+ case 0x42: -+ case 0x43: -+ if (!isSkip) -+ { -+ NULL_GPU(); -+ gpuDrawLF(gpuPixelDrivers [ (Blending_Mode | Masking | Blending | (PixelMSB>>3)) >> 1]); -+ DO_LOG(("gpuDrawLF(0x%x)\n",PRIM)); -+ } -+ break; -+ case 0x48: -+ case 0x49: -+ case 0x4A: -+ case 0x4B: -+ case 0x4C: -+ case 0x4D: -+ case 0x4E: -+ case 0x4F: -+ if (!isSkip) -+ { -+ NULL_GPU(); -+ gpuDrawLF(gpuPixelDrivers [ (Blending_Mode | Masking | Blending | (PixelMSB>>3)) >> 1]); -+ DO_LOG(("gpuDrawLF(0x%x)\n",PRIM)); -+ } -+ if ((PacketBuffer.U4[3] & 0xF000F000) != 0x50005000) -+ { -+ PacketBuffer.U4[1] = PacketBuffer.U4[2]; -+ PacketBuffer.U4[2] = PacketBuffer.U4[3]; -+ PacketCount = 1; -+ PacketIndex = 3; -+ } -+ break; -+ case 0x50: -+ case 0x51: -+ case 0x52: -+ case 0x53: -+ if (!isSkip) -+ { -+ NULL_GPU(); -+ gpuDrawLG(gpuPixelDrivers [ (Blending_Mode | Masking | Blending | (PixelMSB>>3)) >> 1]); -+ DO_LOG(("gpuDrawLG(0x%x)\n",PRIM)); -+ } -+ break; -+ case 0x58: -+ case 0x59: -+ case 0x5A: -+ case 0x5B: -+ case 0x5C: -+ case 0x5D: -+ case 0x5E: -+ case 0x5F: -+ if (!isSkip) -+ { -+ NULL_GPU(); -+ gpuDrawLG(gpuPixelDrivers [ (Blending_Mode | Masking | Blending | (PixelMSB>>3)) >> 1]); -+ DO_LOG(("gpuDrawLG(0x%x)\n",PRIM)); -+ } -+ if ((PacketBuffer.U4[4] & 0xF000F000) != 0x50005000) -+ { -+ PacketBuffer.U1[3 + (2 * 4)] = PacketBuffer.U1[3 + (0 * 4)]; -+ PacketBuffer.U4[0] = PacketBuffer.U4[2]; -+ PacketBuffer.U4[1] = PacketBuffer.U4[3]; -+ PacketBuffer.U4[2] = PacketBuffer.U4[4]; -+ PacketCount = 2; -+ PacketIndex = 3; -+ } -+ break; -+ case 0x60: -+ case 0x61: -+ case 0x62: -+ case 0x63: -+ if (!isSkip) -+ { -+ NULL_GPU(); -+ gpuDrawT(gpuTileSpanDrivers [Blending_Mode | Masking | Blending | (PixelMSB>>3)]); -+ DO_LOG(("gpuDrawT(0x%x)\n",PRIM)); -+ } -+ break; -+ case 0x64: -+ case 0x65: -+ case 0x66: -+ case 0x67: -+ if (!isSkip) -+ { -+ NULL_GPU(); -+ gpuSetCLUT (PacketBuffer.U4[2] >> 16); -+ gpuSetTexture (GPU_GP1); -+ if ((PacketBuffer.U1[0]>0x5F) && (PacketBuffer.U1[1]>0x5F) && (PacketBuffer.U1[2]>0x5F)) -+ gpuDrawS(gpuSpriteSpanDrivers [Blending_Mode | TEXT_MODE | Masking | Blending | (enableAbbeyHack<<7) | PixelMSB]); -+ else -+ gpuDrawS(gpuSpriteSpanDrivers [Blending_Mode | TEXT_MODE | Masking | Blending | Lighting | (enableAbbeyHack<<7) | PixelMSB]); -+ DO_LOG(("gpuDrawS(0x%x)\n",PRIM)); -+ } -+ break; -+ case 0x68: -+ case 0x69: -+ case 0x6A: -+ case 0x6B: -+ if (!isSkip) -+ { -+ NULL_GPU(); -+ PacketBuffer.U4[2] = 0x00010001; -+ gpuDrawT(gpuTileSpanDrivers [Blending_Mode | Masking | Blending | (PixelMSB>>3)]); -+ DO_LOG(("gpuDrawT(0x%x)\n",PRIM)); -+ } -+ break; -+ case 0x70: -+ case 0x71: -+ case 0x72: -+ case 0x73: -+ if (!isSkip) -+ { -+ NULL_GPU(); -+ PacketBuffer.U4[2] = 0x00080008; -+ gpuDrawT(gpuTileSpanDrivers [Blending_Mode | Masking | Blending | (PixelMSB>>3)]); -+ DO_LOG(("gpuDrawT(0x%x)\n",PRIM)); -+ } -+ break; -+ case 0x74: -+ case 0x75: -+ case 0x76: -+ case 0x77: -+ if (!isSkip) -+ { -+ NULL_GPU(); -+ PacketBuffer.U4[3] = 0x00080008; -+ gpuSetCLUT (PacketBuffer.U4[2] >> 16); -+ gpuSetTexture (GPU_GP1); -+ if ((PacketBuffer.U1[0]>0x5F) && (PacketBuffer.U1[1]>0x5F) && (PacketBuffer.U1[2]>0x5F)) -+ gpuDrawS(gpuSpriteSpanDrivers [Blending_Mode | TEXT_MODE | Masking | Blending | (enableAbbeyHack<<7) | PixelMSB]); -+ else -+ gpuDrawS(gpuSpriteSpanDrivers [Blending_Mode | TEXT_MODE | Masking | Blending | Lighting | (enableAbbeyHack<<7) | PixelMSB]); -+ DO_LOG(("gpuDrawS(0x%x)\n",PRIM)); -+ } -+ break; -+ case 0x78: -+ case 0x79: -+ case 0x7A: -+ case 0x7B: -+ if (!isSkip) -+ { -+ NULL_GPU(); -+ PacketBuffer.U4[2] = 0x00100010; -+ gpuDrawT(gpuTileSpanDrivers [Blending_Mode | Masking | Blending | (PixelMSB>>3)]); -+ DO_LOG(("gpuDrawT(0x%x)\n",PRIM)); -+ } -+ break; -+ case 0x7C: -+ case 0x7D: -+#ifdef __arm__ -+ if ((GPU_GP1 & 0x180) == 0 && (Masking | PixelMSB) == 0) -+ { -+ gpuSetCLUT (PacketBuffer.U4[2] >> 16); -+ gpuSetTexture (GPU_GP1); -+ gpuDrawS16(); -+ break; -+ } -+ // fallthrough -+#endif -+ case 0x7E: -+ case 0x7F: -+ if (!isSkip) -+ { -+ NULL_GPU(); -+ PacketBuffer.U4[3] = 0x00100010; -+ gpuSetCLUT (PacketBuffer.U4[2] >> 16); -+ gpuSetTexture (GPU_GP1); -+ if ((PacketBuffer.U1[0]>0x5F) && (PacketBuffer.U1[1]>0x5F) && (PacketBuffer.U1[2]>0x5F)) -+ gpuDrawS(gpuSpriteSpanDrivers [Blending_Mode | TEXT_MODE | Masking | Blending | (enableAbbeyHack<<7) | PixelMSB]); -+ else -+ gpuDrawS(gpuSpriteSpanDrivers [Blending_Mode | TEXT_MODE | Masking | Blending | Lighting | (enableAbbeyHack<<7) | PixelMSB]); -+ DO_LOG(("gpuDrawS(0x%x)\n",PRIM)); -+ } -+ break; -+ case 0x80: // vid -> vid -+ gpuMoveImage(); // prim handles updateLace && skip -+ DO_LOG(("gpuMoveImage(0x%x)\n",PRIM)); -+ break; -+ case 0xA0: // sys ->vid -+ gpuLoadImage(); // prim handles updateLace && skip -+#ifndef isSkip // not a define -+ if (alt_fps) isSkip=false; -+#endif -+ DO_LOG(("gpuLoadImage(0x%x)\n",PRIM)); -+ break; -+ case 0xC0: // vid -> sys -+ gpuStoreImage(); // prim handles updateLace && skip -+ DO_LOG(("gpuStoreImage(0x%x)\n",PRIM)); -+ break; -+ case 0xE1: -+ { -+ const u32 temp = PacketBuffer.U4[0]; -+ GPU_GP1 = (GPU_GP1 & ~0x000007FF) | (temp & 0x000007FF); -+ gpuSetTexture(temp); -+ DO_LOG(("gpuSetTexture(0x%x)\n",PRIM)); -+ } -+ break; -+ case 0xE2: -+ { -+ static const u8 TextureMask[32] = { -+ 255, 7, 15, 7, 31, 7, 15, 7, 63, 7, 15, 7, 31, 7, 15, 7, // -+ 127, 7, 15, 7, 31, 7, 15, 7, 63, 7, 15, 7, 31, 7, 15, 7 // -+ }; -+ const u32 temp = PacketBuffer.U4[0]; -+ TextureWindow[0] = ((temp >> 10) & 0x1F) << 3; -+ TextureWindow[1] = ((temp >> 15) & 0x1F) << 3; -+ TextureWindow[2] = TextureMask[(temp >> 0) & 0x1F]; -+ TextureWindow[3] = TextureMask[(temp >> 5) & 0x1F]; -+ gpuSetTexture(GPU_GP1); -+ //isSkip = false; -+ DO_LOG(("TextureWindow(0x%x)\n",PRIM)); -+ } -+ break; -+ case 0xE3: -+ { -+ const u32 temp = PacketBuffer.U4[0]; -+ DrawingArea[0] = temp & 0x3FF; -+ DrawingArea[1] = (temp >> 10) & 0x3FF; -+ //isSkip = false; -+ DO_LOG(("DrawingArea_Pos(0x%x)\n",PRIM)); -+ } -+ break; -+ case 0xE4: -+ { -+ const u32 temp = PacketBuffer.U4[0]; -+ DrawingArea[2] = (temp & 0x3FF) + 1; -+ DrawingArea[3] = ((temp >> 10) & 0x3FF) + 1; -+ //isSkip = false; -+ DO_LOG(("DrawingArea_Size(0x%x)\n",PRIM)); -+ } -+ break; -+ case 0xE5: -+ { -+ const u32 temp = PacketBuffer.U4[0]; -+ DrawingOffset[0] = ((s32)temp<<(32-11))>>(32-11); -+ DrawingOffset[1] = ((s32)temp<<(32-22))>>(32-11); -+ //isSkip = false; -+ DO_LOG(("DrawingOffset(0x%x)\n",PRIM)); -+ } -+ break; -+ case 0xE6: -+ { -+ const u32 temp = PacketBuffer.U4[0]; -+ //GPU_GP1 = (GPU_GP1 & ~0x00001800) | ((temp&3) << 11); -+ Masking = (temp & 0x2) << 1; -+ PixelMSB =(temp & 0x1) << 8; -+ DO_LOG(("SetMask(0x%x)\n",PRIM)); -+ } -+ break; -+ } -+} -diff --git a/plugins/gpu_unai_old/gpu_fixedpoint.h b/plugins/gpu_unai_old/gpu_fixedpoint.h -new file mode 100644 -index 00000000..e72fda12 ---- /dev/null -+++ b/plugins/gpu_unai_old/gpu_fixedpoint.h -@@ -0,0 +1,131 @@ -+/*************************************************************************** -+ * Copyright (C) 2010 PCSX4ALL Team * -+ * Copyright (C) 2010 Unai * -+ * * -+ * This program is free software; you can redistribute it and/or modify * -+ * it under the terms of the GNU General Public License as published by * -+ * the Free Software Foundation; either version 2 of the License, or * -+ * (at your option) any later version. * -+ * * -+ * This program is distributed in the hope that it will be useful, * -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of * -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * -+ * GNU General Public License for more details. * -+ * * -+ * You should have received a copy of the GNU General Public License * -+ * along with this program; if not, write to the * -+ * Free Software Foundation, Inc., * -+ * 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307 USA. * -+ ***************************************************************************/ -+ -+#ifndef FIXED_H -+#define FIXED_H -+ -+#include "arm_features.h" -+ -+typedef s32 fixed; -+ -+#ifdef GPU_TABLE_10_BITS -+#define TABLE_BITS 10 -+#else -+#define TABLE_BITS 16 -+#endif -+ -+#define FIXED_BITS 16 -+ -+#define fixed_ZERO ((fixed)0) -+#define fixed_ONE ((fixed)1<>1)) -+ -+// big precision inverse table. -+s32 s_invTable[(1<>FIXED_BITS); } -+ -+/* -+INLINE u32 Log2(u32 _a) -+{ -+ u32 c = 0; // result of log2(v) will go here -+ if (_a & 0xFFFF0000) { _a >>= 16; c |= 16; } -+ if (_a & 0xFF00) { _a >>= 8; c |= 8; } -+ if (_a & 0xF0) { _a >>= 4; c |= 4; } -+ if (_a & 0xC) { _a >>= 2; c |= 2; } -+ if (_a & 0x2) { _a >>= 1; c |= 1; } -+ return c; -+} -+*/ -+ -+#ifdef HAVE_ARMV5 -+INLINE u32 Log2(u32 x) { u32 res; asm("clz %0,%1" : "=r" (res) : "r" (x)); return 32-res; } -+#else -+INLINE u32 Log2(u32 x) { u32 i = 0; for ( ; x > 0; ++i, x >>= 1); return i - 1; } -+#endif -+ -+#ifdef GPU_TABLE_10_BITS -+INLINE void xInv (const fixed _b, s32& iFactor_, s32& iShift_) -+{ -+ u32 uD = (_b<0) ? -_b : _b ; -+ u32 uLog = Log2(uD); -+ uLog = uLog>(TABLE_BITS-1) ? uLog-(TABLE_BITS-1) : 0; -+ u32 uDen = uD>>uLog; -+ iFactor_ = s_invTable[uDen]; -+ iFactor_ = (_b<0) ? -iFactor_ :iFactor_; -+ iShift_ = 15+uLog; -+} -+#else -+INLINE void xInv (const fixed _b, s32& iFactor_, s32& iShift_) -+{ -+ u32 uD = (_b<0) ? -_b : _b; -+ if(uD>1) -+ { -+ u32 uLog = Log2(uD); -+ uLog = uLog>(TABLE_BITS-1) ? uLog-(TABLE_BITS-1) : 0; -+ u32 uDen = (uD>>uLog)-1; -+ iFactor_ = s_invTable[uDen]; -+ iFactor_ = (_b<0) ? -iFactor_ :iFactor_; -+ iShift_ = 15+uLog; -+ } -+ else -+ { -+ iFactor_=_b; -+ iShift_ = 0; -+ } -+} -+#endif -+ -+INLINE fixed xInvMulx (const fixed _a, const s32 _iFact, const s32 _iShift) -+{ -+ #ifdef __arm__ -+ s64 res; -+ asm ("smull %Q0, %R0, %1, %2" : "=&r" (res) : "r"(_a) , "r"(_iFact)); -+ return fixed(res>>_iShift); -+ #else -+ return fixed( ((s64)(_a)*(s64)(_iFact))>>(_iShift) ); -+ #endif -+} -+ -+INLINE fixed xLoDivx (const fixed _a, const fixed _b) -+{ -+ s32 iFact, iShift; -+ xInv(_b, iFact, iShift); -+ return xInvMulx(_a, iFact, iShift); -+} -+ -+/////////////////////////////////////////////////////////////////////////// -+template -+INLINE T Min2 (const T _a, const T _b) { return (_a<_b)?_a:_b; } -+ -+template -+INLINE T Min3 (const T _a, const T _b, const T _c) { return Min2(Min2(_a,_b),_c); } -+ -+/////////////////////////////////////////////////////////////////////////// -+template -+INLINE T Max2 (const T _a, const T _b) { return (_a>_b)?_a:_b; } -+ -+template -+INLINE T Max3 (const T _a, const T _b, const T _c) { return Max2(Max2(_a,_b),_c); } -+ -+/////////////////////////////////////////////////////////////////////////// -+#endif //FIXED_H -diff --git a/plugins/gpu_unai_old/gpu_inner.h b/plugins/gpu_unai_old/gpu_inner.h -new file mode 100644 -index 00000000..4cd7bffe ---- /dev/null -+++ b/plugins/gpu_unai_old/gpu_inner.h -@@ -0,0 +1,433 @@ -+/*************************************************************************** -+* Copyright (C) 2010 PCSX4ALL Team * -+* Copyright (C) 2010 Unai * -+* * -+* This program is free software; you can redistribute it and/or modify * -+* it under the terms of the GNU General Public License as published by * -+* the Free Software Foundation; either version 2 of the License, or * -+* (at your option) any later version. * -+* * -+* This program is distributed in the hope that it will be useful, * -+* but WITHOUT ANY WARRANTY; without even the implied warranty of * -+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * -+* GNU General Public License for more details. * -+* * -+* You should have received a copy of the GNU General Public License * -+* along with this program; if not, write to the * -+* Free Software Foundation, Inc., * -+* 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307 USA. * -+***************************************************************************/ -+ -+/////////////////////////////////////////////////////////////////////////////// -+// Inner loop driver instanciation file -+ -+/////////////////////////////////////////////////////////////////////////////// -+// Option Masks -+#define L ((CF>>0)&1) -+#define B ((CF>>1)&1) -+#define M ((CF>>2)&1) -+#define BM ((CF>>3)&3) -+#define TM ((CF>>5)&3) -+#define G ((CF>>7)&1) -+ -+#define AH ((CF>>7)&1) -+ -+#define MB ((CF>>8)&1) -+ -+#include "gpu_inner_blend.h" -+#include "gpu_inner_light.h" -+ -+/////////////////////////////////////////////////////////////////////////////// -+// GPU Pixel opperations generator -+template -+INLINE void gpuPixelFn(u16 *pixel,const u16 data) -+{ -+ if ((!M)&&(!B)) -+ { -+ if(MB) { *pixel = data | 0x8000; } -+ else { *pixel = data; } -+ } -+ else if ((M)&&(!B)) -+ { -+ if (!(*pixel&0x8000)) -+ { -+ if(MB) { *pixel = data | 0x8000; } -+ else { *pixel = data; } -+ } -+ } -+ else -+ { -+ u16 uDst = *pixel; -+ if(M) { if (uDst&0x8000) return; } -+ u16 uSrc = data; -+ u32 uMsk; if (BM==0) uMsk=0x7BDE; -+ if (BM==0) gpuBlending00(uSrc, uDst); -+ if (BM==1) gpuBlending01(uSrc, uDst); -+ if (BM==2) gpuBlending02(uSrc, uDst); -+ if (BM==3) gpuBlending03(uSrc, uDst); -+ if(MB) { *pixel = uSrc | 0x8000; } -+ else { *pixel = uSrc; } -+ } -+} -+/////////////////////////////////////////////////////////////////////////////// -+ -+/////////////////////////////////////////////////////////////////////////////// -+// Pixel drawing drivers, for lines (only blending) -+typedef void (*PD)(u16 *pixel,const u16 data); -+const PD gpuPixelDrivers[32] = // We only generate pixel op for MASKING/BLEND_ENABLE/BLEND_MODE -+{ -+ gpuPixelFn<0x00<<1>,gpuPixelFn<0x01<<1>,gpuPixelFn<0x02<<1>,gpuPixelFn<0x03<<1>, -+ NULL,gpuPixelFn<0x05<<1>,NULL,gpuPixelFn<0x07<<1>, -+ NULL,gpuPixelFn<0x09<<1>,NULL,gpuPixelFn<0x0B<<1>, -+ NULL,gpuPixelFn<0x0D<<1>,NULL,gpuPixelFn<0x0F<<1>, -+ -+ gpuPixelFn<(0x00<<1)|256>,gpuPixelFn<(0x01<<1)|256>,gpuPixelFn<(0x02<<1)|256>,gpuPixelFn<(0x03<<1)|256>, -+ NULL,gpuPixelFn<(0x05<<1)|256>,NULL,gpuPixelFn<(0x07<<1)|256>, -+ NULL,gpuPixelFn<(0x09<<1)|256>,NULL,gpuPixelFn<(0x0B<<1)|256>, -+ NULL,gpuPixelFn<(0x0D<<1)|256>,NULL,gpuPixelFn<(0x0F<<1)|256> -+}; -+ -+/////////////////////////////////////////////////////////////////////////////// -+// GPU Tiles innerloops generator -+ -+template -+INLINE void gpuTileSpanFn(u16 *pDst, u32 count, u16 data) -+{ -+ if ((!M)&&(!B)) -+ { -+ if (MB) { data = data | 0x8000; } -+ do { *pDst++ = data; } while (--count); -+ } -+ else if ((M)&&(!B)) -+ { -+ if (MB) { data = data | 0x8000; } -+ do { if (!(*pDst&0x8000)) { *pDst = data; } pDst++; } while (--count); -+ } -+ else -+ { -+ u16 uSrc; -+ u16 uDst; -+ u32 uMsk; if (BM==0) uMsk=0x7BDE; -+ do -+ { -+ // MASKING -+ uDst = *pDst; -+ if(M) { if (uDst&0x8000) goto endtile; } -+ uSrc = data; -+ -+ // BLEND -+ if (BM==0) gpuBlending00(uSrc, uDst); -+ if (BM==1) gpuBlending01(uSrc, uDst); -+ if (BM==2) gpuBlending02(uSrc, uDst); -+ if (BM==3) gpuBlending03(uSrc, uDst); -+ -+ if (MB) { *pDst = uSrc | 0x8000; } -+ else { *pDst = uSrc; } -+ endtile: pDst++; -+ } -+ while (--count); -+ } -+} -+ -+/////////////////////////////////////////////////////////////////////////////// -+// Tiles innerloops driver -+typedef void (*PT)(u16 *pDst, u32 count, u16 data); -+const PT gpuTileSpanDrivers[64] = -+{ -+ gpuTileSpanFn<0x00>,NULL,gpuTileSpanFn<0x02>,NULL, gpuTileSpanFn<0x04>,NULL,gpuTileSpanFn<0x06>,NULL, NULL,NULL,gpuTileSpanFn<0x0A>,NULL, NULL,NULL,gpuTileSpanFn<0x0E>,NULL, -+ NULL,NULL,gpuTileSpanFn<0x12>,NULL, NULL,NULL,gpuTileSpanFn<0x16>,NULL, NULL,NULL,gpuTileSpanFn<0x1A>,NULL, NULL,NULL,gpuTileSpanFn<0x1E>,NULL, -+ -+ gpuTileSpanFn<0x100>,NULL,gpuTileSpanFn<0x102>,NULL, gpuTileSpanFn<0x104>,NULL,gpuTileSpanFn<0x106>,NULL, NULL,NULL,gpuTileSpanFn<0x10A>,NULL, NULL,NULL,gpuTileSpanFn<0x10E>,NULL, -+ NULL,NULL,gpuTileSpanFn<0x112>,NULL, NULL,NULL,gpuTileSpanFn<0x116>,NULL, NULL,NULL,gpuTileSpanFn<0x11A>,NULL, NULL,NULL,gpuTileSpanFn<0x11E>,NULL, -+}; -+ -+/////////////////////////////////////////////////////////////////////////////// -+// GPU Sprites innerloops generator -+ -+template -+INLINE void gpuSpriteSpanFn(u16 *pDst, u32 count, u32 u0, const u32 mask) -+{ -+ u16 uSrc; -+ u16 uDst; -+ const u16* pTxt = TBA+(u0&~0x1ff); u0=u0&0x1ff; -+ const u16 *_CBA; if(TM!=3) _CBA=CBA; -+ u32 lCol; if(L) { lCol = ((u32)(b4<< 2)&(0x03ff)) | ((u32)(g4<<13)&(0x07ff<<10)) | ((u32)(r4<<24)&(0x07ff<<21)); } -+ u8 rgb; if (TM==1) rgb = ((u8*)pTxt)[u0>>1]; -+ u32 uMsk; if ((B)&&(BM==0)) uMsk=0x7BDE; -+ -+ do -+ { -+ // MASKING -+ if(M) { uDst = *pDst; if (uDst&0x8000) { u0=(u0+1)&mask; goto endsprite; } } -+ -+ // TEXTURE MAPPING -+ if (TM==1) { if (!(u0&1)) rgb = ((u8*)pTxt)[u0>>1]; uSrc = _CBA[(rgb>>((u0&1)<<2))&0xf]; u0=(u0+1)&mask; } -+ if (TM==2) { uSrc = _CBA[((u8*)pTxt)[u0]]; u0=(u0+1)&mask; } -+ if (TM==3) { uSrc = pTxt[u0]; u0=(u0+1)&mask; } -+ if(!AH) { if (!uSrc) goto endsprite; } -+ -+ // BLEND -+ if(B) -+ { -+ if(uSrc&0x8000) -+ { -+ // LIGHTING CALCULATIONS -+ if(L) { gpuLightingTXT(uSrc, lCol); } -+ -+ if(!M) { uDst = *pDst; } -+ if (BM==0) gpuBlending00(uSrc, uDst); -+ if (BM==1) gpuBlending01(uSrc, uDst); -+ if (BM==2) gpuBlending02(uSrc, uDst); -+ if (BM==3) gpuBlending03(uSrc, uDst); -+ } -+ else -+ { -+ // LIGHTING CALCULATIONS -+ if(L) { gpuLightingTXT(uSrc, lCol); } -+ } -+ } -+ else -+ { -+ // LIGHTING CALCULATIONS -+ if(L) { gpuLightingTXT(uSrc, lCol); } else -+ { if(!MB) uSrc&= 0x7fff; } -+ } -+ -+ if (MB) { *pDst = uSrc | 0x8000; } -+ else { *pDst = uSrc; } -+ -+ endsprite: pDst++; -+ } -+ while (--count); -+} -+/////////////////////////////////////////////////////////////////////////////// -+ -+/////////////////////////////////////////////////////////////////////////////// -+// Sprite innerloops driver -+typedef void (*PS)(u16 *pDst, u32 count, u32 u0, const u32 mask); -+const PS gpuSpriteSpanDrivers[512] = -+{ -+ NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, -+ NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, -+ gpuSpriteSpanFn<0x20>,gpuSpriteSpanFn<0x21>,gpuSpriteSpanFn<0x22>,gpuSpriteSpanFn<0x23>, gpuSpriteSpanFn<0x24>,gpuSpriteSpanFn<0x25>,gpuSpriteSpanFn<0x26>,gpuSpriteSpanFn<0x27>, NULL,NULL,gpuSpriteSpanFn<0x2A>,gpuSpriteSpanFn<0x2B>, NULL,NULL,gpuSpriteSpanFn<0x2E>,gpuSpriteSpanFn<0x2F>, -+ NULL,NULL,gpuSpriteSpanFn<0x32>,gpuSpriteSpanFn<0x33>, NULL,NULL,gpuSpriteSpanFn<0x36>,gpuSpriteSpanFn<0x37>, NULL,NULL,gpuSpriteSpanFn<0x3A>,gpuSpriteSpanFn<0x3B>, NULL,NULL,gpuSpriteSpanFn<0x3E>,gpuSpriteSpanFn<0x3F>, -+ gpuSpriteSpanFn<0x40>,gpuSpriteSpanFn<0x41>,gpuSpriteSpanFn<0x42>,gpuSpriteSpanFn<0x43>, gpuSpriteSpanFn<0x44>,gpuSpriteSpanFn<0x45>,gpuSpriteSpanFn<0x46>,gpuSpriteSpanFn<0x47>, NULL,NULL,gpuSpriteSpanFn<0x4A>,gpuSpriteSpanFn<0x4B>, NULL,NULL,gpuSpriteSpanFn<0x4E>,gpuSpriteSpanFn<0x4F>, -+ NULL,NULL,gpuSpriteSpanFn<0x52>,gpuSpriteSpanFn<0x53>, NULL,NULL,gpuSpriteSpanFn<0x56>,gpuSpriteSpanFn<0x57>, NULL,NULL,gpuSpriteSpanFn<0x5A>,gpuSpriteSpanFn<0x5B>, NULL,NULL,gpuSpriteSpanFn<0x5E>,gpuSpriteSpanFn<0x5F>, -+ gpuSpriteSpanFn<0x60>,gpuSpriteSpanFn<0x61>,gpuSpriteSpanFn<0x62>,gpuSpriteSpanFn<0x63>, gpuSpriteSpanFn<0x64>,gpuSpriteSpanFn<0x65>,gpuSpriteSpanFn<0x66>,gpuSpriteSpanFn<0x67>, NULL,NULL,gpuSpriteSpanFn<0x6A>,gpuSpriteSpanFn<0x6B>, NULL,NULL,gpuSpriteSpanFn<0x6E>,gpuSpriteSpanFn<0x6F>, -+ NULL,NULL,gpuSpriteSpanFn<0x72>,gpuSpriteSpanFn<0x73>, NULL,NULL,gpuSpriteSpanFn<0x76>,gpuSpriteSpanFn<0x77>, NULL,NULL,gpuSpriteSpanFn<0x7A>,gpuSpriteSpanFn<0x7B>, NULL,NULL,gpuSpriteSpanFn<0x7E>,gpuSpriteSpanFn<0x7F>, -+ -+ NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, -+ NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, -+ gpuSpriteSpanFn<0xa0>,gpuSpriteSpanFn<0xa1>,gpuSpriteSpanFn<0xa2>,gpuSpriteSpanFn<0xa3>, gpuSpriteSpanFn<0xa4>,gpuSpriteSpanFn<0xa5>,gpuSpriteSpanFn<0xa6>,gpuSpriteSpanFn<0xa7>, NULL,NULL,gpuSpriteSpanFn<0xaA>,gpuSpriteSpanFn<0xaB>, NULL,NULL,gpuSpriteSpanFn<0xaE>,gpuSpriteSpanFn<0xaF>, -+ NULL,NULL,gpuSpriteSpanFn<0xb2>,gpuSpriteSpanFn<0xb3>, NULL,NULL,gpuSpriteSpanFn<0xb6>,gpuSpriteSpanFn<0xb7>, NULL,NULL,gpuSpriteSpanFn<0xbA>,gpuSpriteSpanFn<0xbB>, NULL,NULL,gpuSpriteSpanFn<0xbE>,gpuSpriteSpanFn<0xbF>, -+ gpuSpriteSpanFn<0xc0>,gpuSpriteSpanFn<0xc1>,gpuSpriteSpanFn<0xc2>,gpuSpriteSpanFn<0xc3>, gpuSpriteSpanFn<0xc4>,gpuSpriteSpanFn<0xc5>,gpuSpriteSpanFn<0xc6>,gpuSpriteSpanFn<0xc7>, NULL,NULL,gpuSpriteSpanFn<0xcA>,gpuSpriteSpanFn<0xcB>, NULL,NULL,gpuSpriteSpanFn<0xcE>,gpuSpriteSpanFn<0xcF>, -+ NULL,NULL,gpuSpriteSpanFn<0xd2>,gpuSpriteSpanFn<0xd3>, NULL,NULL,gpuSpriteSpanFn<0xd6>,gpuSpriteSpanFn<0xd7>, NULL,NULL,gpuSpriteSpanFn<0xdA>,gpuSpriteSpanFn<0xdB>, NULL,NULL,gpuSpriteSpanFn<0xdE>,gpuSpriteSpanFn<0xdF>, -+ gpuSpriteSpanFn<0xe0>,gpuSpriteSpanFn<0xe1>,gpuSpriteSpanFn<0xe2>,gpuSpriteSpanFn<0xe3>, gpuSpriteSpanFn<0xe4>,gpuSpriteSpanFn<0xe5>,gpuSpriteSpanFn<0xe6>,gpuSpriteSpanFn<0xe7>, NULL,NULL,gpuSpriteSpanFn<0xeA>,gpuSpriteSpanFn<0xeB>, NULL,NULL,gpuSpriteSpanFn<0xeE>,gpuSpriteSpanFn<0xeF>, -+ NULL,NULL,gpuSpriteSpanFn<0xf2>,gpuSpriteSpanFn<0xf3>, NULL,NULL,gpuSpriteSpanFn<0xf6>,gpuSpriteSpanFn<0xf7>, NULL,NULL,gpuSpriteSpanFn<0xfA>,gpuSpriteSpanFn<0xfB>, NULL,NULL,gpuSpriteSpanFn<0xfE>,gpuSpriteSpanFn<0xfF>, -+ -+ NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, -+ NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, -+ gpuSpriteSpanFn<0x120>,gpuSpriteSpanFn<0x121>,gpuSpriteSpanFn<0x122>,gpuSpriteSpanFn<0x123>, gpuSpriteSpanFn<0x124>,gpuSpriteSpanFn<0x125>,gpuSpriteSpanFn<0x126>,gpuSpriteSpanFn<0x127>, NULL,NULL,gpuSpriteSpanFn<0x12A>,gpuSpriteSpanFn<0x12B>, NULL,NULL,gpuSpriteSpanFn<0x12E>,gpuSpriteSpanFn<0x12F>, -+ NULL,NULL,gpuSpriteSpanFn<0x132>,gpuSpriteSpanFn<0x133>, NULL,NULL,gpuSpriteSpanFn<0x136>,gpuSpriteSpanFn<0x137>, NULL,NULL,gpuSpriteSpanFn<0x13A>,gpuSpriteSpanFn<0x13B>, NULL,NULL,gpuSpriteSpanFn<0x13E>,gpuSpriteSpanFn<0x13F>, -+ gpuSpriteSpanFn<0x140>,gpuSpriteSpanFn<0x141>,gpuSpriteSpanFn<0x142>,gpuSpriteSpanFn<0x143>, gpuSpriteSpanFn<0x144>,gpuSpriteSpanFn<0x145>,gpuSpriteSpanFn<0x146>,gpuSpriteSpanFn<0x147>, NULL,NULL,gpuSpriteSpanFn<0x14A>,gpuSpriteSpanFn<0x14B>, NULL,NULL,gpuSpriteSpanFn<0x14E>,gpuSpriteSpanFn<0x14F>, -+ NULL,NULL,gpuSpriteSpanFn<0x152>,gpuSpriteSpanFn<0x153>, NULL,NULL,gpuSpriteSpanFn<0x156>,gpuSpriteSpanFn<0x157>, NULL,NULL,gpuSpriteSpanFn<0x15A>,gpuSpriteSpanFn<0x15B>, NULL,NULL,gpuSpriteSpanFn<0x15E>,gpuSpriteSpanFn<0x15F>, -+ gpuSpriteSpanFn<0x160>,gpuSpriteSpanFn<0x161>,gpuSpriteSpanFn<0x162>,gpuSpriteSpanFn<0x163>, gpuSpriteSpanFn<0x164>,gpuSpriteSpanFn<0x165>,gpuSpriteSpanFn<0x166>,gpuSpriteSpanFn<0x167>, NULL,NULL,gpuSpriteSpanFn<0x16A>,gpuSpriteSpanFn<0x16B>, NULL,NULL,gpuSpriteSpanFn<0x16E>,gpuSpriteSpanFn<0x16F>, -+ NULL,NULL,gpuSpriteSpanFn<0x172>,gpuSpriteSpanFn<0x173>, NULL,NULL,gpuSpriteSpanFn<0x176>,gpuSpriteSpanFn<0x177>, NULL,NULL,gpuSpriteSpanFn<0x17A>,gpuSpriteSpanFn<0x17B>, NULL,NULL,gpuSpriteSpanFn<0x17E>,gpuSpriteSpanFn<0x17F>, -+ -+ NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, -+ NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, -+ gpuSpriteSpanFn<0x1a0>,gpuSpriteSpanFn<0x1a1>,gpuSpriteSpanFn<0x1a2>,gpuSpriteSpanFn<0x1a3>, gpuSpriteSpanFn<0x1a4>,gpuSpriteSpanFn<0x1a5>,gpuSpriteSpanFn<0x1a6>,gpuSpriteSpanFn<0x1a7>, NULL,NULL,gpuSpriteSpanFn<0x1aA>,gpuSpriteSpanFn<0x1aB>, NULL,NULL,gpuSpriteSpanFn<0x1aE>,gpuSpriteSpanFn<0x1aF>, -+ NULL,NULL,gpuSpriteSpanFn<0x1b2>,gpuSpriteSpanFn<0x1b3>, NULL,NULL,gpuSpriteSpanFn<0x1b6>,gpuSpriteSpanFn<0x1b7>, NULL,NULL,gpuSpriteSpanFn<0x1bA>,gpuSpriteSpanFn<0x1bB>, NULL,NULL,gpuSpriteSpanFn<0x1bE>,gpuSpriteSpanFn<0x1bF>, -+ gpuSpriteSpanFn<0x1c0>,gpuSpriteSpanFn<0x1c1>,gpuSpriteSpanFn<0x1c2>,gpuSpriteSpanFn<0x1c3>, gpuSpriteSpanFn<0x1c4>,gpuSpriteSpanFn<0x1c5>,gpuSpriteSpanFn<0x1c6>,gpuSpriteSpanFn<0x1c7>, NULL,NULL,gpuSpriteSpanFn<0x1cA>,gpuSpriteSpanFn<0x1cB>, NULL,NULL,gpuSpriteSpanFn<0x1cE>,gpuSpriteSpanFn<0x1cF>, -+ NULL,NULL,gpuSpriteSpanFn<0x1d2>,gpuSpriteSpanFn<0x1d3>, NULL,NULL,gpuSpriteSpanFn<0x1d6>,gpuSpriteSpanFn<0x1d7>, NULL,NULL,gpuSpriteSpanFn<0x1dA>,gpuSpriteSpanFn<0x1dB>, NULL,NULL,gpuSpriteSpanFn<0x1dE>,gpuSpriteSpanFn<0x1dF>, -+ gpuSpriteSpanFn<0x1e0>,gpuSpriteSpanFn<0x1e1>,gpuSpriteSpanFn<0x1e2>,gpuSpriteSpanFn<0x1e3>, gpuSpriteSpanFn<0x1e4>,gpuSpriteSpanFn<0x1e5>,gpuSpriteSpanFn<0x1e6>,gpuSpriteSpanFn<0x1e7>, NULL,NULL,gpuSpriteSpanFn<0x1eA>,gpuSpriteSpanFn<0x1eB>, NULL,NULL,gpuSpriteSpanFn<0x1eE>,gpuSpriteSpanFn<0x1eF>, -+ NULL,NULL,gpuSpriteSpanFn<0x1f2>,gpuSpriteSpanFn<0x1f3>, NULL,NULL,gpuSpriteSpanFn<0x1f6>,gpuSpriteSpanFn<0x1f7>, NULL,NULL,gpuSpriteSpanFn<0x1fA>,gpuSpriteSpanFn<0x1fB>, NULL,NULL,gpuSpriteSpanFn<0x1fE>,gpuSpriteSpanFn<0x1fF> -+}; -+ -+/////////////////////////////////////////////////////////////////////////////// -+// GPU Polygon innerloops generator -+template -+INLINE void gpuPolySpanFn(u16 *pDst, u32 count) -+{ -+ if (!TM) -+ { -+ // NO TEXTURE -+ if (!G) -+ { -+ // NO GOURAUD -+ u16 data; -+ if (L) { u32 lCol=((u32)(b4<< 2)&(0x03ff)) | ((u32)(g4<<13)&(0x07ff<<10)) | ((u32)(r4<<24)&(0x07ff<<21)); gpuLightingRGB(data,lCol); } -+ else data=PixelData; -+ if ((!M)&&(!B)) -+ { -+ if (MB) { data = data | 0x8000; } -+ do { *pDst++ = data; } while (--count); -+ } -+ else if ((M)&&(!B)) -+ { -+ if (MB) { data = data | 0x8000; } -+ do { if (!(*pDst&0x8000)) { *pDst = data; } pDst++; } while (--count); -+ } -+ else -+ { -+ u16 uSrc; -+ u16 uDst; -+ u32 uMsk; if (BM==0) uMsk=0x7BDE; -+ do -+ { -+ // masking -+ uDst = *pDst; -+ if(M) { if (uDst&0x8000) goto endtile; } -+ uSrc = data; -+ // blend -+ if (BM==0) gpuBlending00(uSrc, uDst); -+ if (BM==1) gpuBlending01(uSrc, uDst); -+ if (BM==2) gpuBlending02(uSrc, uDst); -+ if (BM==3) gpuBlending03(uSrc, uDst); -+ if (MB) { *pDst = uSrc | 0x8000; } -+ else { *pDst = uSrc; } -+ endtile: pDst++; -+ } -+ while (--count); -+ } -+ } -+ else -+ { -+ // GOURAUD -+ u16 uDst; -+ u16 uSrc; -+ u32 linc=lInc; -+ u32 lCol=((u32)(b4>>14)&(0x03ff)) | ((u32)(g4>>3)&(0x07ff<<10)) | ((u32)(r4<<8)&(0x07ff<<21)); -+ u32 uMsk; if ((B)&&(BM==0)) uMsk=0x7BDE; -+ do -+ { -+ // masking -+ if(M) { uDst = *pDst; if (uDst&0x8000) goto endgou; } -+ // blend -+ if(B) -+ { -+ // light -+ gpuLightingRGB(uSrc,lCol); -+ if(!M) { uDst = *pDst; } -+ if (BM==0) gpuBlending00(uSrc, uDst); -+ if (BM==1) gpuBlending01(uSrc, uDst); -+ if (BM==2) gpuBlending02(uSrc, uDst); -+ if (BM==3) gpuBlending03(uSrc, uDst); -+ } -+ else -+ { -+ // light -+ gpuLightingRGB(uSrc,lCol); -+ } -+ if (MB) { *pDst = uSrc | 0x8000; } -+ else { *pDst = uSrc; } -+ endgou: pDst++; lCol=(lCol+linc); -+ } -+ while (--count); -+ } -+ } -+ else -+ { -+ // TEXTURE -+ u16 uDst; -+ u16 uSrc; -+ u32 linc; if (L&&G) linc=lInc; -+ u32 tinc=tInc; -+ u32 tmsk=tMsk; -+ u32 tCor = ((u32)( u4<<7)&0x7fff0000) | ((u32)( v4>>9)&0x00007fff); tCor&= tmsk; -+ const u16* _TBA=TBA; -+ const u16* _CBA; if (TM!=3) _CBA=CBA; -+ u32 lCol; -+ if(L && !G) { lCol = ((u32)(b4<< 2)&(0x03ff)) | ((u32)(g4<<13)&(0x07ff<<10)) | ((u32)(r4<<24)&(0x07ff<<21)); } -+ else if(L && G) { lCol = ((u32)(b4>>14)&(0x03ff)) | ((u32)(g4>>3)&(0x07ff<<10)) | ((u32)(r4<<8)&(0x07ff<<21)); } -+ u32 uMsk; if ((B)&&(BM==0)) uMsk=0x7BDE; -+ do -+ { -+ // masking -+ if(M) { uDst = *pDst; if (uDst&0x8000) goto endpoly; } -+ // texture -+ if (TM==1) { u32 tu=(tCor>>23); u32 tv=(tCor<<4)&(0xff<<11); u8 rgb=((u8*)_TBA)[tv+(tu>>1)]; uSrc=_CBA[(rgb>>((tu&1)<<2))&0xf]; if(!uSrc) goto endpoly; } -+ if (TM==2) { uSrc = _CBA[(((u8*)_TBA)[(tCor>>23)+((tCor<<4)&(0xff<<11))])]; if(!uSrc) goto endpoly; } -+ if (TM==3) { uSrc = _TBA[(tCor>>23)+((tCor<<3)&(0xff<<10))]; if(!uSrc) goto endpoly; } -+ // blend -+ if(B) -+ { -+ if (uSrc&0x8000) -+ { -+ // light -+ if(L) gpuLightingTXT(uSrc, lCol); -+ if(!M) { uDst = *pDst; } -+ if (BM==0) gpuBlending00(uSrc, uDst); -+ if (BM==1) gpuBlending01(uSrc, uDst); -+ if (BM==2) gpuBlending02(uSrc, uDst); -+ if (BM==3) gpuBlending03(uSrc, uDst); -+ } -+ else -+ { -+ // light -+ if(L) gpuLightingTXT(uSrc, lCol); -+ } -+ } -+ else -+ { -+ // light -+ if(L) { gpuLightingTXT(uSrc, lCol); } else if(!MB) { uSrc&= 0x7fff; } -+ } -+ if (MB) { *pDst = uSrc | 0x8000; } -+ else { *pDst = uSrc; } -+ endpoly: pDst++; -+ tCor=(tCor+tinc)&tmsk; -+ if (L&&G) lCol=(lCol+linc); -+ } -+ while (--count); -+ } -+} -+ -+// supposedly shouldn't be called? -+static void gpuPolySpanFn_NULL_(u16 *pDst, u32 count) -+{ -+} -+ -+/////////////////////////////////////////////////////////////////////////////// -+ -+/////////////////////////////////////////////////////////////////////////////// -+// Polygon innerloops driver -+typedef void (*PP)(u16 *pDst, u32 count); -+const PP gpuPolySpanDrivers[512] = -+{ -+ gpuPolySpanFn<0x00>,gpuPolySpanFn<0x01>,gpuPolySpanFn<0x02>,gpuPolySpanFn<0x03>, gpuPolySpanFn<0x04>,gpuPolySpanFn<0x05>,gpuPolySpanFn<0x06>,gpuPolySpanFn<0x07>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x0A>,gpuPolySpanFn<0x0B>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x0E>,gpuPolySpanFn<0x0F>, -+ gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x12>,gpuPolySpanFn<0x13>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x16>,gpuPolySpanFn<0x17>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x1A>,gpuPolySpanFn<0x1B>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x1E>,gpuPolySpanFn<0x1F>, -+ gpuPolySpanFn<0x20>,gpuPolySpanFn<0x21>,gpuPolySpanFn<0x22>,gpuPolySpanFn<0x23>, gpuPolySpanFn<0x24>,gpuPolySpanFn<0x25>,gpuPolySpanFn<0x26>,gpuPolySpanFn<0x27>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x2A>,gpuPolySpanFn<0x2B>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x2E>,gpuPolySpanFn<0x2F>, -+ gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x32>,gpuPolySpanFn<0x33>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x36>,gpuPolySpanFn<0x37>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x3A>,gpuPolySpanFn<0x3B>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x3E>,gpuPolySpanFn<0x3F>, -+ gpuPolySpanFn<0x40>,gpuPolySpanFn<0x41>,gpuPolySpanFn<0x42>,gpuPolySpanFn<0x43>, gpuPolySpanFn<0x44>,gpuPolySpanFn<0x45>,gpuPolySpanFn<0x46>,gpuPolySpanFn<0x47>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x4A>,gpuPolySpanFn<0x4B>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x4E>,gpuPolySpanFn<0x4F>, -+ gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x52>,gpuPolySpanFn<0x53>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x56>,gpuPolySpanFn<0x57>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x5A>,gpuPolySpanFn<0x5B>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x5E>,gpuPolySpanFn<0x5F>, -+ gpuPolySpanFn<0x60>,gpuPolySpanFn<0x61>,gpuPolySpanFn<0x62>,gpuPolySpanFn<0x63>, gpuPolySpanFn<0x64>,gpuPolySpanFn<0x65>,gpuPolySpanFn<0x66>,gpuPolySpanFn<0x67>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x6A>,gpuPolySpanFn<0x6B>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x6E>,gpuPolySpanFn<0x6F>, -+ gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x72>,gpuPolySpanFn<0x73>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x76>,gpuPolySpanFn<0x77>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x7A>,gpuPolySpanFn<0x7B>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x7E>,gpuPolySpanFn<0x7F>, -+ -+ gpuPolySpanFn_NULL_,gpuPolySpanFn<0x81>,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x83>, gpuPolySpanFn_NULL_,gpuPolySpanFn<0x85>,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x87>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x8B>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x8F>, -+ gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x93>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x97>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x9B>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x9F>, -+ gpuPolySpanFn_NULL_,gpuPolySpanFn<0xa1>,gpuPolySpanFn_NULL_,gpuPolySpanFn<0xa3>, gpuPolySpanFn_NULL_,gpuPolySpanFn<0xa5>,gpuPolySpanFn_NULL_,gpuPolySpanFn<0xa7>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0xaB>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0xaF>, -+ gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0xb3>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0xb7>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0xbB>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0xbF>, -+ gpuPolySpanFn_NULL_,gpuPolySpanFn<0xc1>,gpuPolySpanFn_NULL_,gpuPolySpanFn<0xc3>, gpuPolySpanFn_NULL_,gpuPolySpanFn<0xc5>,gpuPolySpanFn_NULL_,gpuPolySpanFn<0xc7>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0xcB>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0xcF>, -+ gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0xd3>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0xd7>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0xdB>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0xdF>, -+ gpuPolySpanFn_NULL_,gpuPolySpanFn<0xe1>,gpuPolySpanFn_NULL_,gpuPolySpanFn<0xe3>, gpuPolySpanFn_NULL_,gpuPolySpanFn<0xe5>,gpuPolySpanFn_NULL_,gpuPolySpanFn<0xe7>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0xeB>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0xeF>, -+ gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0xf3>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0xf7>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0xfB>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0xfF>, -+ -+ gpuPolySpanFn<0x100>,gpuPolySpanFn<0x101>,gpuPolySpanFn<0x102>,gpuPolySpanFn<0x103>, gpuPolySpanFn<0x104>,gpuPolySpanFn<0x105>,gpuPolySpanFn<0x106>,gpuPolySpanFn<0x107>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x10A>,gpuPolySpanFn<0x10B>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x10E>,gpuPolySpanFn<0x10F>, -+ gpuPolySpanFn_NULL_, gpuPolySpanFn_NULL_, gpuPolySpanFn<0x112>,gpuPolySpanFn<0x113>, gpuPolySpanFn_NULL_, gpuPolySpanFn_NULL_, gpuPolySpanFn<0x116>,gpuPolySpanFn<0x117>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x11A>,gpuPolySpanFn<0x11B>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x11E>,gpuPolySpanFn<0x11F>, -+ gpuPolySpanFn<0x120>,gpuPolySpanFn<0x121>,gpuPolySpanFn<0x122>,gpuPolySpanFn<0x123>, gpuPolySpanFn<0x124>,gpuPolySpanFn<0x125>,gpuPolySpanFn<0x126>,gpuPolySpanFn<0x127>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x12A>,gpuPolySpanFn<0x12B>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x12E>,gpuPolySpanFn<0x12F>, -+ gpuPolySpanFn_NULL_, gpuPolySpanFn_NULL_, gpuPolySpanFn<0x132>,gpuPolySpanFn<0x133>, gpuPolySpanFn_NULL_, gpuPolySpanFn_NULL_, gpuPolySpanFn<0x136>,gpuPolySpanFn<0x137>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x13A>,gpuPolySpanFn<0x13B>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x13E>,gpuPolySpanFn<0x13F>, -+ gpuPolySpanFn<0x140>,gpuPolySpanFn<0x141>,gpuPolySpanFn<0x142>,gpuPolySpanFn<0x143>, gpuPolySpanFn<0x144>,gpuPolySpanFn<0x145>,gpuPolySpanFn<0x146>,gpuPolySpanFn<0x147>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x14A>,gpuPolySpanFn<0x14B>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x14E>,gpuPolySpanFn<0x14F>, -+ gpuPolySpanFn_NULL_, gpuPolySpanFn_NULL_, gpuPolySpanFn<0x152>,gpuPolySpanFn<0x153>, gpuPolySpanFn_NULL_, gpuPolySpanFn_NULL_, gpuPolySpanFn<0x156>,gpuPolySpanFn<0x157>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x15A>,gpuPolySpanFn<0x15B>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x15E>,gpuPolySpanFn<0x15F>, -+ gpuPolySpanFn<0x160>,gpuPolySpanFn<0x161>,gpuPolySpanFn<0x162>,gpuPolySpanFn<0x163>, gpuPolySpanFn<0x164>,gpuPolySpanFn<0x165>,gpuPolySpanFn<0x166>,gpuPolySpanFn<0x167>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x16A>,gpuPolySpanFn<0x16B>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x16E>,gpuPolySpanFn<0x16F>, -+ gpuPolySpanFn_NULL_, gpuPolySpanFn_NULL_, gpuPolySpanFn<0x172>,gpuPolySpanFn<0x173>, gpuPolySpanFn_NULL_, gpuPolySpanFn_NULL_, gpuPolySpanFn<0x176>,gpuPolySpanFn<0x177>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x17A>,gpuPolySpanFn<0x17B>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x17E>,gpuPolySpanFn<0x17F>, -+ -+ gpuPolySpanFn_NULL_,gpuPolySpanFn<0x181>,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x183>, gpuPolySpanFn_NULL_,gpuPolySpanFn<0x185>,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x187>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x18B>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x18F>, -+ gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_, gpuPolySpanFn_NULL_,gpuPolySpanFn<0x193>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_, gpuPolySpanFn_NULL_,gpuPolySpanFn<0x197>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x19B>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x19F>, -+ gpuPolySpanFn_NULL_,gpuPolySpanFn<0x1a1>,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x1a3>, gpuPolySpanFn_NULL_,gpuPolySpanFn<0x1a5>,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x1a7>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x1aB>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x1aF>, -+ gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_, gpuPolySpanFn_NULL_,gpuPolySpanFn<0x1b3>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_, gpuPolySpanFn_NULL_,gpuPolySpanFn<0x1b7>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x1bB>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x1bF>, -+ gpuPolySpanFn_NULL_,gpuPolySpanFn<0x1c1>,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x1c3>, gpuPolySpanFn_NULL_,gpuPolySpanFn<0x1c5>,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x1c7>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x1cB>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x1cF>, -+ gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_, gpuPolySpanFn_NULL_,gpuPolySpanFn<0x1d3>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_, gpuPolySpanFn_NULL_,gpuPolySpanFn<0x1d7>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x1dB>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x1dF>, -+ gpuPolySpanFn_NULL_,gpuPolySpanFn<0x1e1>,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x1e3>, gpuPolySpanFn_NULL_,gpuPolySpanFn<0x1e5>,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x1e7>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x1eB>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x1eF>, -+ gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_, gpuPolySpanFn_NULL_,gpuPolySpanFn<0x1f3>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_, gpuPolySpanFn_NULL_,gpuPolySpanFn<0x1f7>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x1fB>, gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn_NULL_,gpuPolySpanFn<0x1fF> -+}; -diff --git a/plugins/gpu_unai_old/gpu_inner_blend.h b/plugins/gpu_unai_old/gpu_inner_blend.h -new file mode 100644 -index 00000000..ce439d3b ---- /dev/null -+++ b/plugins/gpu_unai_old/gpu_inner_blend.h -@@ -0,0 +1,154 @@ -+/*************************************************************************** -+* Copyright (C) 2010 PCSX4ALL Team * -+* Copyright (C) 2010 Unai * -+* * -+* This program is free software; you can redistribute it and/or modify * -+* it under the terms of the GNU General Public License as published by * -+* the Free Software Foundation; either version 2 of the License, or * -+* (at your option) any later version. * -+* * -+* This program is distributed in the hope that it will be useful, * -+* but WITHOUT ANY WARRANTY; without even the implied warranty of * -+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * -+* GNU General Public License for more details. * -+* * -+* You should have received a copy of the GNU General Public License * -+* along with this program; if not, write to the * -+* Free Software Foundation, Inc., * -+* 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307 USA. * -+***************************************************************************/ -+ -+#ifndef _OP_BLEND_H_ -+#define _OP_BLEND_H_ -+ -+// GPU Blending operations functions -+ -+#ifdef __arm__ -+#define gpuBlending00(uSrc,uDst) \ -+{ \ -+ asm ("and %[src], %[src], %[msk]\n" \ -+ "and %[dst], %[dst], %[msk]\n" \ -+ "add %[src], %[dst], %[src]\n" \ -+ "mov %[src], %[src], lsr #1\n" \ -+ : [src] "=&r" (uSrc), [dst] "=&r" (uDst) : "0" (uSrc), "1" (uDst), [msk] "r" (uMsk)); \ -+} -+#else -+#define gpuBlending00(uSrc,uDst) \ -+{ \ -+ uSrc = (((uDst & uMsk) + (uSrc & uMsk)) >> 1); \ -+} -+#endif -+ -+// 1.0 x Back + 1.0 x Forward -+#ifdef __arm__ -+#define gpuBlending01(uSrc,uDst) \ -+{ \ -+ u32 st,dt,out; \ -+ asm ("and %[dt], %[dst], #0x7C00\n" \ -+ "and %[st], %[src], #0x7C00\n" \ -+ "add %[out], %[dt], %[st] \n" \ -+ "cmp %[out], #0x7C00 \n" \ -+ "movhi %[out], #0x7C00 \n" \ -+ "and %[dt], %[dst], #0x03E0\n" \ -+ "and %[st], %[src], #0x03E0\n" \ -+ "add %[dt], %[dt], %[st] \n" \ -+ "cmp %[dt], #0x03E0 \n" \ -+ "movhi %[dt], #0x03E0 \n" \ -+ "orr %[out], %[out], %[dt] \n" \ -+ "and %[dt], %[dst], #0x001F\n" \ -+ "and %[st], %[src], #0x001F\n" \ -+ "add %[dt], %[dt], %[st] \n" \ -+ "cmp %[dt], #0x001F \n" \ -+ "movhi %[dt], #0x001F \n" \ -+ "orr %[src], %[out], %[dt] \n" \ -+ : [src] "=r" (uSrc), [st] "=&r" (st), [dt] "=&r" (dt), [out] "=&r" (out) \ -+ : [dst] "r" (uDst), "0" (uSrc) : "cc"); \ -+} -+#else -+#define gpuBlending01(uSrc,uDst) \ -+{ \ -+ u16 rr, gg, bb; \ -+ bb = (uDst & 0x7C00) + (uSrc & 0x7C00); if (bb > 0x7C00) bb = 0x7C00; \ -+ gg = (uDst & 0x03E0) + (uSrc & 0x03E0); if (gg > 0x03E0) gg = 0x03E0; bb |= gg; \ -+ rr = (uDst & 0x001F) + (uSrc & 0x001F); if (rr > 0x001F) rr = 0x001F; bb |= rr; \ -+ uSrc = bb; \ -+} -+#endif -+ -+// 1.0 x Back - 1.0 x Forward */ -+#ifdef __arm__ -+#define gpuBlending02(uSrc,uDst) \ -+{ \ -+ u32 st,dt,out; \ -+ asm ("and %[dt], %[dst], #0x7C00\n" \ -+ "and %[st], %[src], #0x7C00\n" \ -+ "subs %[out], %[dt], %[st] \n" \ -+ "movmi %[out], #0x0000 \n" \ -+ "and %[dt], %[dst], #0x03E0\n" \ -+ "and %[st], %[src], #0x03E0\n" \ -+ "subs %[dt], %[dt], %[st] \n" \ -+ "orrpl %[out], %[out], %[dt] \n" \ -+ "and %[dt], %[dst], #0x001F\n" \ -+ "and %[st], %[src], #0x001F\n" \ -+ "subs %[dt], %[dt], %[st] \n" \ -+ "orrpl %[out], %[out], %[dt] \n" \ -+ "mov %[src], %[out] \n" \ -+ : [src] "=r" (uSrc), [st] "=&r" (st), [dt] "=&r" (dt), [out] "=&r" (out) \ -+ : [dst] "r" (uDst), "0" (uSrc) : "cc"); \ -+} -+ -+int btest(int s, int d) -+{ -+ gpuBlending02(s, d); -+ return s; -+} -+#else -+#define gpuBlending02(uSrc,uDst) \ -+{ \ -+ s32 rr, gg, bb; \ -+ bb = (uDst & 0x7C00) - (uSrc & 0x7C00); if (bb < 0) bb = 0; \ -+ gg = (uDst & 0x03E0) - (uSrc & 0x03E0); if (gg > 0) bb |= gg; \ -+ rr = (uDst & 0x001F) - (uSrc & 0x001F); if (rr > 0) bb |= rr; \ -+ uSrc = bb; \ -+} -+#endif -+ -+// 1.0 x Back + 0.25 x Forward */ -+#ifdef __arm__ -+#define gpuBlending03(uSrc,uDst) \ -+{ \ -+ u32 st,dt,out; \ -+ asm ("mov %[src], %[src], lsr #2 \n" \ -+ "and %[dt], %[dst], #0x7C00\n" \ -+ "and %[st], %[src], #0x1C00\n" \ -+ "add %[out], %[dt], %[st] \n" \ -+ "cmp %[out], #0x7C00 \n" \ -+ "movhi %[out], #0x7C00 \n" \ -+ "and %[dt], %[dst], #0x03E0\n" \ -+ "and %[st], %[src], #0x00E0\n" \ -+ "add %[dt], %[dt], %[st] \n" \ -+ "cmp %[dt], #0x03E0 \n" \ -+ "movhi %[dt], #0x03E0 \n" \ -+ "orr %[out], %[out], %[dt] \n" \ -+ "and %[dt], %[dst], #0x001F\n" \ -+ "and %[st], %[src], #0x0007\n" \ -+ "add %[dt], %[dt], %[st] \n" \ -+ "cmp %[dt], #0x001F \n" \ -+ "movhi %[dt], #0x001F \n" \ -+ "orr %[src], %[out], %[dt] \n" \ -+ : [src] "=r" (uSrc), [st] "=&r" (st), [dt] "=&r" (dt), [out] "=&r" (out) \ -+ : [dst] "r" (uDst), "0" (uSrc) : "cc"); \ -+} -+#else -+#define gpuBlending03(uSrc,uDst) \ -+{ \ -+ u16 rr, gg, bb; \ -+ uSrc >>= 2; \ -+ bb = (uDst & 0x7C00) + (uSrc & 0x1C00); if (bb > 0x7C00) bb = 0x7C00; \ -+ gg = (uDst & 0x03E0) + (uSrc & 0x00E0); if (gg > 0x03E0) gg = 0x03E0; bb |= gg; \ -+ rr = (uDst & 0x001F) + (uSrc & 0x0007); if (rr > 0x001F) rr = 0x001F; bb |= rr; \ -+ uSrc = bb; \ -+} -+#endif -+ -+#endif //_OP_BLEND_H_ -diff --git a/plugins/gpu_unai_old/gpu_inner_light.h b/plugins/gpu_unai_old/gpu_inner_light.h -new file mode 100644 -index 00000000..d291418c ---- /dev/null -+++ b/plugins/gpu_unai_old/gpu_inner_light.h -@@ -0,0 +1,82 @@ -+/*************************************************************************** -+* Copyright (C) 2010 PCSX4ALL Team * -+* Copyright (C) 2010 Unai * -+* * -+* This program is free software; you can redistribute it and/or modify * -+* it under the terms of the GNU General Public License as published by * -+* the Free Software Foundation; either version 2 of the License, or * -+* (at your option) any later version. * -+* * -+* This program is distributed in the hope that it will be useful, * -+* but WITHOUT ANY WARRANTY; without even the implied warranty of * -+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * -+* GNU General Public License for more details. * -+* * -+* You should have received a copy of the GNU General Public License * -+* along with this program; if not, write to the * -+* Free Software Foundation, Inc., * -+* 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307 USA. * -+***************************************************************************/ -+ -+#ifndef _OP_LIGHT_H_ -+#define _OP_LIGHT_H_ -+ -+// GPU color operations for lighting calculations -+ -+#ifdef __arm__ -+#define gpuLightingRGB(uSrc,lCol) \ -+{ \ -+ u32 cb,cg; \ -+ asm ("and %[cb], %[lCol], #0x7C00/32 \n" \ -+ "and %[cg], %[lCol], #0x03E0*2048 \n" \ -+ "mov %[res], %[lCol], lsr #27\n" \ -+ "orr %[res], %[res], %[cb], lsl #5 \n" \ -+ "orr %[res], %[res], %[cg], lsr #11\n" \ -+ : [res] "=&r" (uSrc), [cb] "=&r" (cb), [cg] "=&r" (cg) \ -+ : [lCol] "r" (lCol)); \ -+} -+#else -+#define gpuLightingRGB(uSrc,lCol) uSrc=((lCol<<5)&0x7C00) | ((lCol>>11)&0x3E0) | (lCol>>27) -+#endif -+ -+INLINE void gpuLightingTXT(u16 &uSrc, u32 &lCol) -+{ -+ // Pixelops Table -+ static const u8 _gpuLitT[32*32] = { -+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, -+ 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, -+ 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, -+ 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, -+ 0, 0, 0, 1, 1, 1, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 9, 9, 9,10,10,10,11,11, -+ 0, 0, 0, 1, 1, 2, 2, 3, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 7, 8, 8, 9, 9,10,10,10,11,11,12,12,13,13, -+ 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9,10,10,11,11,12,12,13,13,14,14,15,15, -+ 0, 0, 1, 1, 2, 2, 3, 3, 4, 5, 5, 6, 6, 7, 7, 8, 9, 9,10,10,11,11,12,12,13,14,14,15,15,16,16,17, -+ 0, 0, 1, 1, 2, 3, 3, 4, 5, 5, 6, 6, 7, 8, 8, 9,10,10,11,11,12,13,13,14,15,15,16,16,17,18,18,19, -+ 0, 0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7, 8, 8, 9,10,11,11,12,13,13,14,15,15,16,17,17,18,19,19,20,21, -+ 0, 0, 1, 2, 3, 3, 4, 5, 6, 6, 7, 8, 9, 9,10,11,12,12,13,14,15,15,16,17,18,18,19,20,21,21,22,23, -+ 0, 0, 1, 2, 3, 4, 4, 5, 6, 7, 8, 8, 9,10,11,12,13,13,14,15,16,17,17,18,19,20,21,21,22,23,24,25, -+ 0, 0, 1, 2, 3, 4, 5, 6, 7, 7, 8, 9,10,11,12,13,14,14,15,16,17,18,19,20,21,21,22,23,24,25,26,27, -+ 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13,14,15,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29, -+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31, -+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13,14,15,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,31, -+ 0, 1, 2, 3, 4, 5, 6, 7, 9,10,11,12,13,14,15,16,18,19,20,21,22,23,24,25,27,28,29,30,31,31,31,31, -+ 0, 1, 2, 3, 4, 5, 7, 8, 9,10,11,13,14,15,16,17,19,20,21,22,23,24,26,27,28,29,30,31,31,31,31,31, -+ 0, 1, 2, 3, 5, 6, 7, 8,10,11,12,13,15,16,17,18,20,21,22,23,25,26,27,28,30,31,31,31,31,31,31,31, -+ 0, 1, 2, 3, 5, 6, 7, 9,10,11,13,14,15,17,18,19,21,22,23,24,26,27,28,30,31,31,31,31,31,31,31,31, -+ 0, 1, 2, 4, 5, 6, 8, 9,11,12,13,15,16,17,19,20,22,23,24,26,27,28,30,31,31,31,31,31,31,31,31,31, -+ 0, 1, 2, 4, 5, 7, 8,10,11,12,14,15,17,18,20,21,23,24,25,27,28,30,31,31,31,31,31,31,31,31,31,31, -+ 0, 1, 3, 4, 6, 7, 9,10,12,13,15,16,18,19,21,22,24,25,27,28,30,31,31,31,31,31,31,31,31,31,31,31, -+ 0, 1, 3, 4, 6, 7, 9,10,12,14,15,17,18,20,21,23,25,26,28,29,31,31,31,31,31,31,31,31,31,31,31,31, -+ 0, 1, 3, 4, 6, 8, 9,11,13,14,16,17,19,21,22,24,26,27,29,30,31,31,31,31,31,31,31,31,31,31,31,31, -+ 0, 1, 3, 5, 6, 8,10,11,13,15,16,18,20,21,23,25,27,28,30,31,31,31,31,31,31,31,31,31,31,31,31,31, -+ 0, 1, 3, 5, 7, 8,10,12,14,15,17,19,21,22,24,26,28,29,31,31,31,31,31,31,31,31,31,31,31,31,31,31, -+ 0, 1, 3, 5, 7, 9,10,12,14,16,18,19,21,23,25,27,29,30,31,31,31,31,31,31,31,31,31,31,31,31,31,31, -+ 0, 1, 3, 5, 7, 9,11,13,15,16,18,20,22,24,26,28,30,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31, -+ 0, 1, 3, 5, 7, 9,11,13,15,17,19,21,23,25,27,29,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31 -+ }; -+ uSrc = (_gpuLitT[((uSrc&0x7C00)>>5)|((lCol>>5)&0x1f)]<<10)|(_gpuLitT[(uSrc&0x03E0)|((lCol>>16)&0x1f)]<<5)|(_gpuLitT[((uSrc&0x001F)<<5)|(lCol>>27)]); -+} -+ -+#endif //_OP_LIGHT_H_ -diff --git a/plugins/gpu_unai_old/gpu_raster_image.h b/plugins/gpu_unai_old/gpu_raster_image.h -new file mode 100644 -index 00000000..0c82aa97 ---- /dev/null -+++ b/plugins/gpu_unai_old/gpu_raster_image.h -@@ -0,0 +1,203 @@ -+/*************************************************************************** -+ * Copyright (C) 2010 PCSX4ALL Team * -+ * Copyright (C) 2010 Unai * -+ * * -+ * This program is free software; you can redistribute it and/or modify * -+ * it under the terms of the GNU General Public License as published by * -+ * the Free Software Foundation; either version 2 of the License, or * -+ * (at your option) any later version. * -+ * * -+ * This program is distributed in the hope that it will be useful, * -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of * -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * -+ * GNU General Public License for more details. * -+ * * -+ * You should have received a copy of the GNU General Public License * -+ * along with this program; if not, write to the * -+ * Free Software Foundation, Inc., * -+ * 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307 USA. * -+ ***************************************************************************/ -+ -+/////////////////////////////////////////////////////////////////////////////// -+INLINE void gpuLoadImage(void) -+{ -+ u16 x0, y0, w0, h0; -+ x0 = PacketBuffer.U2[2] & 1023; -+ y0 = PacketBuffer.U2[3] & 511; -+ w0 = PacketBuffer.U2[4]; -+ h0 = PacketBuffer.U2[5]; -+ -+ if ((y0 + h0) > FRAME_HEIGHT) -+ { -+ h0 = FRAME_HEIGHT - y0; -+ } -+ -+ FrameToWrite = ((w0)&&(h0)); -+ -+ px = 0; -+ py = 0; -+ x_end = w0; -+ y_end = h0; -+ pvram = &((u16*)GPU_FrameBuffer)[x0+(y0*1024)]; -+ -+ GPU_GP1 |= 0x08000000; -+} -+ -+/////////////////////////////////////////////////////////////////////////////// -+INLINE void gpuStoreImage(void) -+{ -+ u16 x0, y0, w0, h0; -+ x0 = PacketBuffer.U2[2] & 1023; -+ y0 = PacketBuffer.U2[3] & 511; -+ w0 = PacketBuffer.U2[4]; -+ h0 = PacketBuffer.U2[5]; -+ -+ if ((y0 + h0) > FRAME_HEIGHT) -+ { -+ h0 = FRAME_HEIGHT - y0; -+ } -+ FrameToRead = ((w0)&&(h0)); -+ -+ px = 0; -+ py = 0; -+ x_end = w0; -+ y_end = h0; -+ pvram = &((u16*)GPU_FrameBuffer)[x0+(y0*1024)]; -+ -+ GPU_GP1 |= 0x08000000; -+} -+ -+INLINE void gpuMoveImage(void) -+{ -+ u32 x0, y0, x1, y1; -+ s32 w0, h0; -+ x0 = PacketBuffer.U2[2] & 1023; -+ y0 = PacketBuffer.U2[3] & 511; -+ x1 = PacketBuffer.U2[4] & 1023; -+ y1 = PacketBuffer.U2[5] & 511; -+ w0 = PacketBuffer.U2[6]; -+ h0 = PacketBuffer.U2[7]; -+ -+ if( (x0==x1) && (y0==y1) ) return; -+ if ((w0<=0) || (h0<=0)) return; -+ -+ if (((y0+h0)>512)||((x0+w0)>1024)||((y1+h0)>512)||((x1+w0)>1024)) -+ { -+ u16 *psxVuw=GPU_FrameBuffer; -+ s32 i,j; -+ for(j=0;j>1); -+ lpDst += ((FRAME_OFFSET(x1, y1))>>1); -+ if (w0&1) -+ { -+ x1 = (FRAME_WIDTH - w0 +1)>>1; -+ w0>>=1; -+ if (!w0) { -+ do { -+ *((u16*)lpDst) = *((u16*)lpSrc); -+ lpDst += x1; -+ lpSrc += x1; -+ } while (--h0); -+ } else -+ do { -+ x0=w0; -+ do { *lpDst++ = *lpSrc++; } while (--x0); -+ *((u16*)lpDst) = *((u16*)lpSrc); -+ lpDst += x1; -+ lpSrc += x1; -+ } while (--h0); -+ } -+ else -+ { -+ x1 = (FRAME_WIDTH - w0)>>1; -+ w0>>=1; -+ do { -+ x0=w0; -+ do { *lpDst++ = *lpSrc++; } while (--x0); -+ lpDst += x1; -+ lpSrc += x1; -+ } while (--h0); -+ } -+ } -+} -+ -+INLINE void gpuClearImage(void) -+{ -+ s32 x0, y0, w0, h0; -+ x0 = PacketBuffer.S2[2]; -+ y0 = PacketBuffer.S2[3]; -+ w0 = PacketBuffer.S2[4] & 0x3ff; -+ h0 = PacketBuffer.S2[5] & 0x3ff; -+ -+ w0 += x0; -+ if (x0 < 0) x0 = 0; -+ if (w0 > FRAME_WIDTH) w0 = FRAME_WIDTH; -+ w0 -= x0; -+ if (w0 <= 0) return; -+ h0 += y0; -+ if (y0 < 0) y0 = 0; -+ if (h0 > FRAME_HEIGHT) h0 = FRAME_HEIGHT; -+ h0 -= y0; -+ if (h0 <= 0) return; -+ -+ if (x0&1) -+ { -+ u16* pixel = (u16*)GPU_FrameBuffer + FRAME_OFFSET(x0, y0); -+ u16 rgb = GPU_RGB16(PacketBuffer.S4[0]); -+ y0 = FRAME_WIDTH - w0; -+ do { -+ x0=w0; -+ do { *pixel++ = rgb; } while (--x0); -+ pixel += y0; -+ } while (--h0); -+ } -+ else -+ { -+ u32* pixel = (u32*)(void*)GPU_FrameBuffer + ((FRAME_OFFSET(x0, y0))>>1); -+ u32 rgb = GPU_RGB16(PacketBuffer.S4[0]); -+ rgb |= (rgb<<16); -+ if (w0&1) -+ { -+ y0 = (FRAME_WIDTH - w0 +1)>>1; -+ w0>>=1; -+ do { -+ x0=w0; -+ do { *pixel++ = rgb; } while (--x0); -+ *((u16*)pixel) = (u16)rgb; -+ pixel += y0; -+ } while (--h0); -+ } -+ else -+ { -+ y0 = (FRAME_WIDTH - w0)>>1; -+ w0>>=1; -+ do { -+ x0=w0; -+ do { *pixel++ = rgb; } while (--x0); -+ pixel += y0; -+ } while (--h0); -+ } -+ } -+} -diff --git a/plugins/gpu_unai_old/gpu_raster_line.h b/plugins/gpu_unai_old/gpu_raster_line.h -new file mode 100644 -index 00000000..fc59b797 ---- /dev/null -+++ b/plugins/gpu_unai_old/gpu_raster_line.h -@@ -0,0 +1,257 @@ -+/*************************************************************************** -+* Copyright (C) 2010 PCSX4ALL Team * -+* Copyright (C) 2010 Unai * -+* * -+* This program is free software; you can redistribute it and/or modify * -+* it under the terms of the GNU General Public License as published by * -+* the Free Software Foundation; either version 2 of the License, or * -+* (at your option) any later version. * -+* * -+* This program is distributed in the hope that it will be useful, * -+* but WITHOUT ANY WARRANTY; without even the implied warranty of * -+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * -+* GNU General Public License for more details. * -+* * -+* You should have received a copy of the GNU General Public License * -+* along with this program; if not, write to the * -+* Free Software Foundation, Inc., * -+* 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307 USA. * -+***************************************************************************/ -+ -+#define GPU_TESTRANGE(x) { if((u32)(x+1024) > 2047) return; } -+ -+/////////////////////////////////////////////////////////////////////////////// -+// GPU internal line drawing functions -+ -+#define GPU_DIGITS 16 -+#define GPU_DIGITSC (GPU_DIGITS+3) -+ -+INLINE s32 GPU_DIV(s32 rs, s32 rt) -+{ -+ return rt ? (rs / rt) : (0); -+} -+ -+/////////////////////////////////////////////////////////////////////////////// -+void gpuDrawLF(const PD gpuPixelDriver) -+{ -+ s32 temp; -+ s32 xmin, xmax; -+ s32 ymin, ymax; -+ s32 x0, x1, dx; -+ s32 y0, y1, dy; -+ -+ x0 = PacketBuffer.S2[2] + DrawingOffset[0]; GPU_TESTRANGE(x0); -+ y0 = PacketBuffer.S2[3] + DrawingOffset[1]; GPU_TESTRANGE(y0); -+ x1 = PacketBuffer.S2[4] + DrawingOffset[0]; GPU_TESTRANGE(x1); -+ y1 = PacketBuffer.S2[5] + DrawingOffset[1]; GPU_TESTRANGE(y1); -+ -+ xmin = DrawingArea[0]; xmax = DrawingArea[2]; -+ ymin = DrawingArea[1]; ymax = DrawingArea[3]; -+ const u16 pixeldata = GPU_RGB16(PacketBuffer.U4[0]); -+ -+ dy = (y1 - y0); -+ if (dy < 0) dy = -dy; -+ dx = (x1 - x0); -+ if (dx < 0) dx = -dx; -+ if (dx > dy) { -+ if (x0 > x1) { -+ GPU_SWAP(x0, x1, temp); -+ GPU_SWAP(y0, y1, temp); -+ } -+ y1 = GPU_DIV((y1 - y0) << GPU_DIGITS, dx); -+ y0 <<= GPU_DIGITS; -+ temp = xmin - x0; -+ if (temp > 0) { -+ x0 = xmin; -+ y0 += (y1 * temp); -+ } -+ if (x1 > xmax) x1 = xmax; -+ x1 -= x0; -+ if (x1 < 0) x1 = 0; -+ -+ const int li=linesInterlace; -+ for (; x1; x1--) { -+ temp = y0 >> GPU_DIGITS; -+ if( 0 == (temp&li) ) { -+ if ((u32) (temp - ymin) < (u32) (ymax - ymin)) { -+ gpuPixelDriver(&((u16*)GPU_FrameBuffer)[FRAME_OFFSET(x0, temp)],pixeldata); -+ } -+ } -+ x0++; -+ y0 += y1; -+ } -+ } else if (dy) { -+ if (y0 > y1) { -+ GPU_SWAP(x0, x1, temp); -+ GPU_SWAP(y0, y1, temp); -+ } -+ x1 = GPU_DIV((x1 - x0) << GPU_DIGITS, dy); -+ x0 <<= GPU_DIGITS; -+ temp = ymin - y0; -+ if (temp > 0) { -+ y0 = ymin; -+ x0 += (x1 * temp); -+ } -+ if (y1 > ymax) y1 = ymax; -+ y1 -= y0; -+ if (y1 < 0) y1 = 0; -+ -+ const int li=linesInterlace; -+ for (; y1; y1--) { -+ if( 0 == (y0&li) ) { -+ temp = x0 >> GPU_DIGITS; -+ if ((u32) (temp - xmin) < (u32) (xmax - xmin)) { -+ gpuPixelDriver(&((u16*)GPU_FrameBuffer)[FRAME_OFFSET(temp, y0)],pixeldata); -+ } -+ } -+ y0++; -+ x0 += x1; -+ } -+ -+ } else { -+ if( 0 == (y0&linesInterlace) ) { -+ if ((u32) (x0 - xmin) < (u32) (xmax - xmin)) { -+ if ((u32) (y0 - ymin) < (u32) (ymax - ymin)) { -+ gpuPixelDriver(&((u16*)GPU_FrameBuffer)[FRAME_OFFSET(x0, y0)],pixeldata); -+ } -+ } -+ } -+ } -+} -+ -+/*---------------------------------------------------------------------- -+GF -+----------------------------------------------------------------------*/ -+ -+/////////////////////////////////////////////////////////////////////////////// -+void gpuDrawLG(const PD gpuPixelDriver) -+{ -+ s32 temp; -+ s32 xmin, xmax; -+ s32 ymin, ymax; -+ s32 x0, x1, dx; -+ s32 y0, y1, dy; -+ s32 r0, r1; -+ s32 g0, g1; -+ s32 b0, b1; -+ -+ x0 = PacketBuffer.S2[2] + DrawingOffset[0]; GPU_TESTRANGE(x0); -+ y0 = PacketBuffer.S2[3] + DrawingOffset[1]; GPU_TESTRANGE(y0); -+ x1 = PacketBuffer.S2[6] + DrawingOffset[0]; GPU_TESTRANGE(x1); -+ y1 = PacketBuffer.S2[7] + DrawingOffset[1]; GPU_TESTRANGE(y1); -+ -+ r0 = PacketBuffer.U1[0]; g0 = PacketBuffer.U1[1]; b0 = PacketBuffer.U1[2]; -+ r1 = PacketBuffer.U1[8]; g1 = PacketBuffer.U1[9]; b1 = PacketBuffer.U1[10]; -+ -+ xmin = DrawingArea[0]; xmax = DrawingArea[2]; -+ ymin = DrawingArea[1]; ymax = DrawingArea[3]; -+ -+ dy = (y1 - y0); -+ if (dy < 0) -+ dy = -dy; -+ dx = (x1 - x0); -+ if (dx < 0) -+ dx = -dx; -+ if (dx > dy) { -+ if (x0 > x1) { -+ GPU_SWAP(x0, x1, temp); -+ GPU_SWAP(y0, y1, temp); -+ GPU_SWAP(r0, r1, temp); -+ GPU_SWAP(g0, g1, temp); -+ GPU_SWAP(b0, b1, temp); -+ } -+ y1 = GPU_DIV((y1 - y0) << GPU_DIGITS, dx); -+ r1 = GPU_DIV((r1 - r0) << GPU_DIGITS, dx); -+ g1 = GPU_DIV((g1 - g0) << GPU_DIGITS, dx); -+ b1 = GPU_DIV((b1 - b0) << GPU_DIGITS, dx); -+ y0 <<= GPU_DIGITS; -+ r0 <<= GPU_DIGITS; -+ g0 <<= GPU_DIGITS; -+ b0 <<= GPU_DIGITS; -+ temp = xmin - x0; -+ if (temp > 0) { -+ x0 = xmin; -+ y0 += (y1 * temp); -+ r0 += (r1 * temp); -+ g0 += (g1 * temp); -+ b0 += (b1 * temp); -+ } -+ if (x1 > xmax) x1 = xmax; -+ x1 -= x0; -+ if (x1 < 0) x1 = 0; -+ -+ const int li=linesInterlace; -+ for (; x1; x1--) { -+ temp = y0 >> GPU_DIGITS; -+ if( 0 == (temp&li) ) { -+ if ((u32) (temp - ymin) < (u32) (ymax - ymin)) { -+ gpuPixelDriver ( -+ &((u16*)GPU_FrameBuffer)[FRAME_OFFSET(x0, temp)], -+ (((b0>>GPU_DIGITSC)&0x1F)<<10) | (((g0>>GPU_DIGITSC)&0x1F)<< 5) | ((r0>>GPU_DIGITSC)&0x1F) -+ ); -+ } -+ } -+ x0++; -+ y0 += y1; -+ r0 += r1; -+ g0 += g1; -+ b0 += b1; -+ } -+ } else if (dy) { -+ if (y0 > y1) { -+ GPU_SWAP(x0, x1, temp); -+ GPU_SWAP(y0, y1, temp); -+ GPU_SWAP(r0, r1, temp); -+ GPU_SWAP(g0, g1, temp); -+ GPU_SWAP(b0, b1, temp); -+ } -+ x1 = GPU_DIV((x1 - x0) << GPU_DIGITS, dy); -+ r1 = GPU_DIV((r1 - r0) << GPU_DIGITS, dy); -+ g1 = GPU_DIV((g1 - g0) << GPU_DIGITS, dy); -+ b1 = GPU_DIV((b1 - b0) << GPU_DIGITS, dy); -+ x0 <<= GPU_DIGITS; -+ r0 <<= GPU_DIGITS; -+ g0 <<= GPU_DIGITS; -+ b0 <<= GPU_DIGITS; -+ temp = ymin - y0; -+ if (temp > 0) { -+ y0 = ymin; -+ x0 += (x1 * temp); -+ r0 += (r1 * temp); -+ g0 += (g1 * temp); -+ b0 += (b1 * temp); -+ } -+ if (y1 > ymax) y1 = ymax; -+ y1 -= y0; -+ if (y1 < 0) y1 = 0; -+ -+ const int li=linesInterlace; -+ for (; y1; y1--) { -+ if( 0 == (y0&li) ) { -+ temp = x0 >> GPU_DIGITS; -+ if ((u32) (temp - xmin) < (u32) (xmax - xmin)) { -+ gpuPixelDriver ( -+ &((u16*)GPU_FrameBuffer)[FRAME_OFFSET(temp, y0)], -+ (((b0>>GPU_DIGITSC)&0x1F)<<10) | (((g0>>GPU_DIGITSC)&0x1F)<< 5) | ((r0>>GPU_DIGITSC)&0x1F) -+ ); -+ } -+ } -+ y0++; -+ x0 += x1; -+ r0 += r1; -+ g0 += g1; -+ b0 += b1; -+ } -+ } else { -+ if( 0 == (y0&linesInterlace) ) { -+ if ((u32) (x0 - xmin) < (u32) (xmax - xmin)) { -+ if ((u32) (y0 - ymin) < (u32) (ymax - ymin)) { -+ gpuPixelDriver ( -+ &((u16*)GPU_FrameBuffer)[FRAME_OFFSET(x0, y0)], -+ (((b0>>GPU_DIGITSC)&0x1F)<<10) | (((g0>>GPU_DIGITSC)&0x1F)<< 5) | ((r0>>GPU_DIGITSC)&0x1F) -+ ); -+ } -+ } -+ } -+ } -+} -diff --git a/plugins/gpu_unai_old/gpu_raster_polygon.h b/plugins/gpu_unai_old/gpu_raster_polygon.h -new file mode 100644 -index 00000000..c4b03509 ---- /dev/null -+++ b/plugins/gpu_unai_old/gpu_raster_polygon.h -@@ -0,0 +1,749 @@ -+/*************************************************************************** -+* Copyright (C) 2010 PCSX4ALL Team * -+* Copyright (C) 2010 Unai * -+* * -+* This program is free software; you can redistribute it and/or modify * -+* it under the terms of the GNU General Public License as published by * -+* the Free Software Foundation; either version 2 of the License, or * -+* (at your option) any later version. * -+* * -+* This program is distributed in the hope that it will be useful, * -+* but WITHOUT ANY WARRANTY; without even the implied warranty of * -+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * -+* GNU General Public License for more details. * -+* * -+* You should have received a copy of the GNU General Public License * -+* along with this program; if not, write to the * -+* Free Software Foundation, Inc., * -+* 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307 USA. * -+***************************************************************************/ -+ -+#define GPU_TESTRANGE3() \ -+{ \ -+ if(x0<0) { if((x1-x0)>CHKMAX_X) return; if((x2-x0)>CHKMAX_X) return; } \ -+ if(x1<0) { if((x0-x1)>CHKMAX_X) return; if((x2-x1)>CHKMAX_X) return; } \ -+ if(x2<0) { if((x0-x2)>CHKMAX_X) return; if((x1-x2)>CHKMAX_X) return; } \ -+ if(y0<0) { if((y1-y0)>CHKMAX_Y) return; if((y2-y0)>CHKMAX_Y) return; } \ -+ if(y1<0) { if((y0-y1)>CHKMAX_Y) return; if((y2-y1)>CHKMAX_Y) return; } \ -+ if(y2<0) { if((y0-y2)>CHKMAX_Y) return; if((y1-y2)>CHKMAX_Y) return; } \ -+} -+ -+/////////////////////////////////////////////////////////////////////////////// -+// GPU internal polygon drawing functions -+ -+/////////////////////////////////////////////////////////////////////////////// -+void gpuDrawF3(const PP gpuPolySpanDriver) -+{ -+ const int li=linesInterlace; -+ s32 temp; -+ s32 xa, xb, xmin, xmax; -+ s32 ya, yb, ymin, ymax; -+ s32 x0, x1, x2, x3, dx3=0, x4, dx4=0, dx; -+ s32 y0, y1, y2; -+ -+ x0 = GPU_EXPANDSIGN(PacketBuffer.S2[2]); -+ y0 = GPU_EXPANDSIGN(PacketBuffer.S2[3]); -+ x1 = GPU_EXPANDSIGN(PacketBuffer.S2[4]); -+ y1 = GPU_EXPANDSIGN(PacketBuffer.S2[5]); -+ x2 = GPU_EXPANDSIGN(PacketBuffer.S2[6]); -+ y2 = GPU_EXPANDSIGN(PacketBuffer.S2[7]); -+ -+ GPU_TESTRANGE3(); -+ -+ x0 += DrawingOffset[0]; x1 += DrawingOffset[0]; x2 += DrawingOffset[0]; -+ y0 += DrawingOffset[1]; y1 += DrawingOffset[1]; y2 += DrawingOffset[1]; -+ -+ xmin = DrawingArea[0]; xmax = DrawingArea[2]; -+ ymin = DrawingArea[1]; ymax = DrawingArea[3]; -+ -+ { -+ int rx0 = Max2(xmin,Min3(x0,x1,x2)); -+ int ry0 = Max2(ymin,Min3(y0,y1,y2)); -+ int rx1 = Min2(xmax,Max3(x0,x1,x2)); -+ int ry1 = Min2(ymax,Max3(y0,y1,y2)); -+ if( rx0>=rx1 || ry0>=ry1) return; -+ } -+ -+ PixelData = GPU_RGB16(PacketBuffer.U4[0]); -+ -+ if (y0 >= y1) -+ { -+ if( y0!=y1 || x0>x1 ) -+ { -+ GPU_SWAP(x0, x1, temp); -+ GPU_SWAP(y0, y1, temp); -+ } -+ } -+ if (y1 >= y2) -+ { -+ if( y1!=y2 || x1>x2 ) -+ { -+ GPU_SWAP(x1, x2, temp); -+ GPU_SWAP(y1, y2, temp); -+ } -+ } -+ if (y0 >= y1) -+ { -+ if( y0!=y1 || x0>x1 ) -+ { -+ GPU_SWAP(x0, x1, temp); -+ GPU_SWAP(y0, y1, temp); -+ } -+ } -+ -+ ya = y2 - y0; -+ yb = y2 - y1; -+ dx =(x2 - x1) * ya - (x2 - x0) * yb; -+ -+ for (s32 loop0 = 2; loop0; --loop0) -+ { -+ if (loop0 == 2) -+ { -+ ya = y0; -+ yb = y1; -+ x3 = i2x(x0); -+ x4 = y0!=y1 ? x3 : i2x(x1); -+ if (dx < 0) -+ { -+ dx3 = xLoDivx((x2 - x0), (y2 - y0)); -+ dx4 = xLoDivx((x1 - x0), (y1 - y0)); -+ } -+ else -+ { -+ dx3 = xLoDivx((x1 - x0), (y1 - y0)); -+ dx4 = xLoDivx((x2 - x0), (y2 - y0)); -+ } -+ } -+ else -+ { -+ ya = y1; -+ yb = y2; -+ if (dx < 0) -+ { -+ x4 = i2x(x1); -+ x3 = i2x(x0) + (dx3 * (y1 - y0)); -+ dx4 = xLoDivx((x2 - x1), (y2 - y1)); -+ } -+ else -+ { -+ x3 = i2x(x1); -+ x4 = i2x(x0) + (dx4 * (y1 - y0)); -+ dx3 = xLoDivx((x2 - x1), (y2 - y1)); -+ } -+ } -+ -+ temp = ymin - ya; -+ if (temp > 0) -+ { -+ ya = ymin; -+ x3 += dx3*temp; -+ x4 += dx4*temp; -+ } -+ if (yb > ymax) yb = ymax; -+ if (ya>=yb) continue; -+ -+ x3+= fixed_HALF; -+ x4+= fixed_HALF; -+ -+ u16* PixelBase = &((u16*)GPU_FrameBuffer)[FRAME_OFFSET(0, ya)]; -+ -+ for(;yaxmax) || (xb xmax) xb = xmax; -+ xb-=xa; -+ if(xb>0) gpuPolySpanDriver(PixelBase + xa,xb); -+ } -+ } -+} -+ -+/*---------------------------------------------------------------------- -+FT3 -+----------------------------------------------------------------------*/ -+ -+void gpuDrawFT3(const PP gpuPolySpanDriver) -+{ -+ const int li=linesInterlace; -+ s32 temp; -+ s32 xa, xb, xmin, xmax; -+ s32 ya, yb, ymin, ymax; -+ s32 x0, x1, x2, x3, dx3=0, x4, dx4=0, dx; -+ s32 y0, y1, y2; -+ s32 u0, u1, u2, u3, du3=0; -+ s32 v0, v1, v2, v3, dv3=0; -+ -+ x0 = GPU_EXPANDSIGN(PacketBuffer.S2[2] ); -+ y0 = GPU_EXPANDSIGN(PacketBuffer.S2[3] ); -+ x1 = GPU_EXPANDSIGN(PacketBuffer.S2[6] ); -+ y1 = GPU_EXPANDSIGN(PacketBuffer.S2[7] ); -+ x2 = GPU_EXPANDSIGN(PacketBuffer.S2[10]); -+ y2 = GPU_EXPANDSIGN(PacketBuffer.S2[11]); -+ -+ GPU_TESTRANGE3(); -+ -+ x0 += DrawingOffset[0]; x1 += DrawingOffset[0]; x2 += DrawingOffset[0]; -+ y0 += DrawingOffset[1]; y1 += DrawingOffset[1]; y2 += DrawingOffset[1]; -+ -+ xmin = DrawingArea[0]; xmax = DrawingArea[2]; -+ ymin = DrawingArea[1]; ymax = DrawingArea[3]; -+ -+ { -+ int rx0 = Max2(xmin,Min3(x0,x1,x2)); -+ int ry0 = Max2(ymin,Min3(y0,y1,y2)); -+ int rx1 = Min2(xmax,Max3(x0,x1,x2)); -+ int ry1 = Min2(ymax,Max3(y0,y1,y2)); -+ if( rx0>=rx1 || ry0>=ry1) return; -+ } -+ -+ u0 = PacketBuffer.U1[8]; v0 = PacketBuffer.U1[9]; -+ u1 = PacketBuffer.U1[16]; v1 = PacketBuffer.U1[17]; -+ u2 = PacketBuffer.U1[24]; v2 = PacketBuffer.U1[25]; -+ -+ r4 = s32(PacketBuffer.U1[0]); -+ g4 = s32(PacketBuffer.U1[1]); -+ b4 = s32(PacketBuffer.U1[2]); -+ dr4 = dg4 = db4 = 0; -+ -+ if (y0 >= y1) -+ { -+ if( y0!=y1 || x0>x1 ) -+ { -+ GPU_SWAP(x0, x1, temp); -+ GPU_SWAP(y0, y1, temp); -+ GPU_SWAP(u0, u1, temp); -+ GPU_SWAP(v0, v1, temp); -+ } -+ } -+ if (y1 >= y2) -+ { -+ if( y1!=y2 || x1>x2 ) -+ { -+ GPU_SWAP(x1, x2, temp); -+ GPU_SWAP(y1, y2, temp); -+ GPU_SWAP(u1, u2, temp); -+ GPU_SWAP(v1, v2, temp); -+ } -+ } -+ if (y0 >= y1) -+ { -+ if( y0!=y1 || x0>x1 ) -+ { -+ GPU_SWAP(x0, x1, temp); -+ GPU_SWAP(y0, y1, temp); -+ GPU_SWAP(u0, u1, temp); -+ GPU_SWAP(v0, v1, temp); -+ } -+ } -+ -+ ya = y2 - y0; -+ yb = y2 - y1; -+ dx = (x2 - x1) * ya - (x2 - x0) * yb; -+ du4 = (u2 - u1) * ya - (u2 - u0) * yb; -+ dv4 = (v2 - v1) * ya - (v2 - v0) * yb; -+ -+ s32 iF,iS; -+ xInv( dx, iF, iS); -+ du4 = xInvMulx( du4, iF, iS); -+ dv4 = xInvMulx( dv4, iF, iS); -+ tInc = ((u32)(du4<<7)&0x7fff0000) | ((u32)(dv4>>9)&0x00007fff); -+ tMsk = (TextureWindow[2]<<23) | (TextureWindow[3]<<7) | 0x00ff00ff; -+ -+ for (s32 loop0 = 2; loop0; --loop0) -+ { -+ if (loop0 == 2) -+ { -+ ya = y0; -+ yb = y1; -+ u3 = i2x(u0); -+ v3 = i2x(v0); -+ x3 = i2x(x0); -+ x4 = y0!=y1 ? x3 : i2x(x1); -+ if (dx < 0) -+ { -+ xInv( (y2 - y0), iF, iS); -+ dx3 = xInvMulx( (x2 - x0), iF, iS); -+ du3 = xInvMulx( (u2 - u0), iF, iS); -+ dv3 = xInvMulx( (v2 - v0), iF, iS); -+ dx4 = xLoDivx ( (x1 - x0), (y1 - y0)); -+ } -+ else -+ { -+ xInv( (y1 - y0), iF, iS); -+ dx3 = xInvMulx( (x1 - x0), iF, iS); -+ du3 = xInvMulx( (u1 - u0), iF, iS); -+ dv3 = xInvMulx( (v1 - v0), iF, iS); -+ dx4 = xLoDivx ( (x2 - x0), (y2 - y0)); -+ } -+ } -+ else -+ { -+ ya = y1; -+ yb = y2; -+ if (dx < 0) -+ { -+ temp = y1 - y0; -+ u3 = i2x(u0) + (du3 * temp); -+ v3 = i2x(v0) + (dv3 * temp); -+ x3 = i2x(x0) + (dx3 * temp); -+ x4 = i2x(x1); -+ dx4 = xLoDivx((x2 - x1), (y2 - y1)); -+ } -+ else -+ { -+ u3 = i2x(u1); -+ v3 = i2x(v1); -+ x3 = i2x(x1); -+ x4 = i2x(x0) + (dx4 * (y1 - y0)); -+ xInv( (y2 - y1), iF, iS); -+ dx3 = xInvMulx( (x2 - x1), iF, iS); -+ du3 = xInvMulx( (u2 - u1), iF, iS); -+ dv3 = xInvMulx( (v2 - v1), iF, iS); -+ } -+ } -+ -+ temp = ymin - ya; -+ if (temp > 0) -+ { -+ ya = ymin; -+ x3 += dx3*temp; -+ x4 += dx4*temp; -+ u3 += du3*temp; -+ v3 += dv3*temp; -+ } -+ if (yb > ymax) yb = ymax; -+ if (ya>=yb) continue; -+ -+ x3+= fixed_HALF; -+ x4+= fixed_HALF; -+ u3+= fixed_HALF; -+ v4+= fixed_HALF; -+ -+ u16* PixelBase = &((u16*)GPU_FrameBuffer)[FRAME_OFFSET(0, ya)]; -+ -+ for(;yaxmax) || (xb 0) -+ { -+ xa = xmin; -+ u4 = u3 + du4*temp; -+ v4 = v3 + dv4*temp; -+ } -+ else -+ { -+ u4 = u3; -+ v4 = v3; -+ } -+ if(xb > xmax) xb = xmax; -+ xb-=xa; -+ if(xb>0) gpuPolySpanDriver(PixelBase + xa,xb); -+ } -+ } -+} -+ -+/*---------------------------------------------------------------------- -+G3 -+----------------------------------------------------------------------*/ -+ -+void gpuDrawG3(const PP gpuPolySpanDriver) -+{ -+ const int li=linesInterlace; -+ s32 temp; -+ s32 xa, xb, xmin, xmax; -+ s32 ya, yb, ymin, ymax; -+ s32 x0, x1, x2, x3, dx3=0, x4, dx4=0, dx; -+ s32 y0, y1, y2; -+ s32 r0, r1, r2, r3, dr3=0; -+ s32 g0, g1, g2, g3, dg3=0; -+ s32 b0, b1, b2, b3, db3=0; -+ -+ x0 = GPU_EXPANDSIGN(PacketBuffer.S2[2] ); -+ y0 = GPU_EXPANDSIGN(PacketBuffer.S2[3] ); -+ x1 = GPU_EXPANDSIGN(PacketBuffer.S2[6] ); -+ y1 = GPU_EXPANDSIGN(PacketBuffer.S2[7] ); -+ x2 = GPU_EXPANDSIGN(PacketBuffer.S2[10]); -+ y2 = GPU_EXPANDSIGN(PacketBuffer.S2[11]); -+ -+ GPU_TESTRANGE3(); -+ -+ x0 += DrawingOffset[0]; x1 += DrawingOffset[0]; x2 += DrawingOffset[0]; -+ y0 += DrawingOffset[1]; y1 += DrawingOffset[1]; y2 += DrawingOffset[1]; -+ -+ xmin = DrawingArea[0]; xmax = DrawingArea[2]; -+ ymin = DrawingArea[1]; ymax = DrawingArea[3]; -+ -+ { -+ int rx0 = Max2(xmin,Min3(x0,x1,x2)); -+ int ry0 = Max2(ymin,Min3(y0,y1,y2)); -+ int rx1 = Min2(xmax,Max3(x0,x1,x2)); -+ int ry1 = Min2(ymax,Max3(y0,y1,y2)); -+ if( rx0>=rx1 || ry0>=ry1) return; -+ } -+ -+ r0 = PacketBuffer.U1[0]; g0 = PacketBuffer.U1[1]; b0 = PacketBuffer.U1[2]; -+ r1 = PacketBuffer.U1[8]; g1 = PacketBuffer.U1[9]; b1 = PacketBuffer.U1[10]; -+ r2 = PacketBuffer.U1[16]; g2 = PacketBuffer.U1[17]; b2 = PacketBuffer.U1[18]; -+ -+ if (y0 >= y1) -+ { -+ if( y0!=y1 || x0>x1 ) -+ { -+ GPU_SWAP(x0, x1, temp); GPU_SWAP(y0, y1, temp); -+ GPU_SWAP(r0, r1, temp); GPU_SWAP(g0, g1, temp); GPU_SWAP(b0, b1, temp); -+ } -+ } -+ if (y1 >= y2) -+ { -+ if( y1!=y2 || x1>x2 ) -+ { -+ GPU_SWAP(x1, x2, temp); GPU_SWAP(y1, y2, temp); -+ GPU_SWAP(r1, r2, temp); GPU_SWAP(g1, g2, temp); GPU_SWAP(b1, b2, temp); -+ } -+ } -+ if (y0 >= y1) -+ { -+ if( y0!=y1 || x0>x1 ) -+ { -+ GPU_SWAP(x0, x1, temp); GPU_SWAP(y0, y1, temp); -+ GPU_SWAP(r0, r1, temp); GPU_SWAP(g0, g1, temp); GPU_SWAP(b0, b1, temp); -+ } -+ } -+ -+ ya = y2 - y0; -+ yb = y2 - y1; -+ dx = (x2 - x1) * ya - (x2 - x0) * yb; -+ dr4 = (r2 - r1) * ya - (r2 - r0) * yb; -+ dg4 = (g2 - g1) * ya - (g2 - g0) * yb; -+ db4 = (b2 - b1) * ya - (b2 - b0) * yb; -+ -+ s32 iF,iS; -+ xInv( dx, iF, iS); -+ dr4 = xInvMulx( dr4, iF, iS); -+ dg4 = xInvMulx( dg4, iF, iS); -+ db4 = xInvMulx( db4, iF, iS); -+ u32 dr = (u32)(dr4<< 8)&(0xffffffff<<21); if(dr4<0) dr+= 1<<21; -+ u32 dg = (u32)(dg4>> 3)&(0xffffffff<<10); if(dg4<0) dg+= 1<<10; -+ u32 db = (u32)(db4>>14)&(0xffffffff ); if(db4<0) db+= 1<< 0; -+ lInc = db + dg + dr; -+ -+ for (s32 loop0 = 2; loop0; --loop0) -+ { -+ if (loop0 == 2) -+ { -+ ya = y0; -+ yb = y1; -+ r3 = i2x(r0); -+ g3 = i2x(g0); -+ b3 = i2x(b0); -+ x3 = i2x(x0); -+ x4 = y0!=y1 ? x3 : i2x(x1); -+ if (dx < 0) -+ { -+ xInv( (y2 - y0), iF, iS); -+ dx3 = xInvMulx( (x2 - x0), iF, iS); -+ dr3 = xInvMulx( (r2 - r0), iF, iS); -+ dg3 = xInvMulx( (g2 - g0), iF, iS); -+ db3 = xInvMulx( (b2 - b0), iF, iS); -+ dx4 = xLoDivx ( (x1 - x0), (y1 - y0)); -+ } -+ else -+ { -+ xInv( (y1 - y0), iF, iS); -+ dx3 = xInvMulx( (x1 - x0), iF, iS); -+ dr3 = xInvMulx( (r1 - r0), iF, iS); -+ dg3 = xInvMulx( (g1 - g0), iF, iS); -+ db3 = xInvMulx( (b1 - b0), iF, iS); -+ dx4 = xLoDivx ( (x2 - x0), (y2 - y0)); -+ } -+ } -+ else -+ { -+ ya = y1; -+ yb = y2; -+ if (dx < 0) -+ { -+ temp = y1 - y0; -+ r3 = i2x(r0) + (dr3 * temp); -+ g3 = i2x(g0) + (dg3 * temp); -+ b3 = i2x(b0) + (db3 * temp); -+ x3 = i2x(x0) + (dx3 * temp); -+ x4 = i2x(x1); -+ dx4 = xLoDivx((x2 - x1), (y2 - y1)); -+ } -+ else -+ { -+ r3 = i2x(r1); -+ g3 = i2x(g1); -+ b3 = i2x(b1); -+ x3 = i2x(x1); -+ x4 = i2x(x0) + (dx4 * (y1 - y0)); -+ -+ xInv( (y2 - y1), iF, iS); -+ dx3 = xInvMulx( (x2 - x1), iF, iS); -+ dr3 = xInvMulx( (r2 - r1), iF, iS); -+ dg3 = xInvMulx( (g2 - g1), iF, iS); -+ db3 = xInvMulx( (b2 - b1), iF, iS); -+ } -+ } -+ -+ temp = ymin - ya; -+ if (temp > 0) -+ { -+ ya = ymin; -+ x3 += dx3*temp; x4 += dx4*temp; -+ r3 += dr3*temp; g3 += dg3*temp; b3 += db3*temp; -+ } -+ if (yb > ymax) yb = ymax; -+ if (ya>=yb) continue; -+ -+ x3+= fixed_HALF; x4+= fixed_HALF; -+ r3+= fixed_HALF; g3+= fixed_HALF; b3+= fixed_HALF; -+ -+ u16* PixelBase = &((u16*)GPU_FrameBuffer)[FRAME_OFFSET(0, ya)]; -+ -+ for(;yaxmax) || (xb 0) -+ { -+ xa = xmin; -+ r4 = r3 + dr4*temp; g4 = g3 + dg4*temp; b4 = b3 + db4*temp; -+ } -+ else -+ { -+ r4 = r3; g4 = g3; b4 = b3; -+ } -+ if(xb > xmax) xb = xmax; -+ xb-=xa; -+ if(xb>0) gpuPolySpanDriver(PixelBase + xa,xb); -+ } -+ } -+} -+ -+/*---------------------------------------------------------------------- -+GT3 -+----------------------------------------------------------------------*/ -+ -+void gpuDrawGT3(const PP gpuPolySpanDriver) -+{ -+ const int li=linesInterlace; -+ s32 temp; -+ s32 xa, xb, xmin, xmax; -+ s32 ya, yb, ymin, ymax; -+ s32 x0, x1, x2, x3, dx3=0, x4, dx4=0, dx; -+ s32 y0, y1, y2; -+ s32 u0, u1, u2, u3, du3=0; -+ s32 v0, v1, v2, v3, dv3=0; -+ s32 r0, r1, r2, r3, dr3=0; -+ s32 g0, g1, g2, g3, dg3=0; -+ s32 b0, b1, b2, b3, db3=0; -+ -+ x0 = GPU_EXPANDSIGN(PacketBuffer.S2[2] ); -+ y0 = GPU_EXPANDSIGN(PacketBuffer.S2[3] ); -+ x1 = GPU_EXPANDSIGN(PacketBuffer.S2[8] ); -+ y1 = GPU_EXPANDSIGN(PacketBuffer.S2[9] ); -+ x2 = GPU_EXPANDSIGN(PacketBuffer.S2[14]); -+ y2 = GPU_EXPANDSIGN(PacketBuffer.S2[15]); -+ -+ GPU_TESTRANGE3(); -+ -+ x0 += DrawingOffset[0]; x1 += DrawingOffset[0]; x2 += DrawingOffset[0]; -+ y0 += DrawingOffset[1]; y1 += DrawingOffset[1]; y2 += DrawingOffset[1]; -+ -+ xmin = DrawingArea[0]; xmax = DrawingArea[2]; -+ ymin = DrawingArea[1]; ymax = DrawingArea[3]; -+ -+ { -+ int rx0 = Max2(xmin,Min3(x0,x1,x2)); -+ int ry0 = Max2(ymin,Min3(y0,y1,y2)); -+ int rx1 = Min2(xmax,Max3(x0,x1,x2)); -+ int ry1 = Min2(ymax,Max3(y0,y1,y2)); -+ if( rx0>=rx1 || ry0>=ry1) return; -+ } -+ -+ r0 = PacketBuffer.U1[0]; g0 = PacketBuffer.U1[1]; b0 = PacketBuffer.U1[2]; -+ u0 = PacketBuffer.U1[8]; v0 = PacketBuffer.U1[9]; -+ r1 = PacketBuffer.U1[12]; g1 = PacketBuffer.U1[13]; b1 = PacketBuffer.U1[14]; -+ u1 = PacketBuffer.U1[20]; v1 = PacketBuffer.U1[21]; -+ r2 = PacketBuffer.U1[24]; g2 = PacketBuffer.U1[25]; b2 = PacketBuffer.U1[26]; -+ u2 = PacketBuffer.U1[32]; v2 = PacketBuffer.U1[33]; -+ -+ if (y0 >= y1) -+ { -+ if( y0!=y1 || x0>x1 ) -+ { -+ GPU_SWAP(x0, x1, temp); GPU_SWAP(y0, y1, temp); -+ GPU_SWAP(u0, u1, temp); GPU_SWAP(v0, v1, temp); -+ GPU_SWAP(r0, r1, temp); GPU_SWAP(g0, g1, temp); GPU_SWAP(b0, b1, temp); -+ } -+ } -+ if (y1 >= y2) -+ { -+ if( y1!=y2 || x1>x2 ) -+ { -+ GPU_SWAP(x1, x2, temp); GPU_SWAP(y1, y2, temp); -+ GPU_SWAP(u1, u2, temp); GPU_SWAP(v1, v2, temp); -+ GPU_SWAP(r1, r2, temp); GPU_SWAP(g1, g2, temp); GPU_SWAP(b1, b2, temp); -+ } -+ } -+ if (y0 >= y1) -+ { -+ if( y0!=y1 || x0>x1 ) -+ { -+ GPU_SWAP(x0, x1, temp); GPU_SWAP(y0, y1, temp); -+ GPU_SWAP(u0, u1, temp); GPU_SWAP(v0, v1, temp); -+ GPU_SWAP(r0, r1, temp); GPU_SWAP(g0, g1, temp); GPU_SWAP(b0, b1, temp); -+ } -+ } -+ -+ ya = y2 - y0; -+ yb = y2 - y1; -+ dx = (x2 - x1) * ya - (x2 - x0) * yb; -+ du4 = (u2 - u1) * ya - (u2 - u0) * yb; -+ dv4 = (v2 - v1) * ya - (v2 - v0) * yb; -+ dr4 = (r2 - r1) * ya - (r2 - r0) * yb; -+ dg4 = (g2 - g1) * ya - (g2 - g0) * yb; -+ db4 = (b2 - b1) * ya - (b2 - b0) * yb; -+ -+ s32 iF,iS; -+ -+ xInv( dx, iF, iS); -+ du4 = xInvMulx( du4, iF, iS); -+ dv4 = xInvMulx( dv4, iF, iS); -+ dr4 = xInvMulx( dr4, iF, iS); -+ dg4 = xInvMulx( dg4, iF, iS); -+ db4 = xInvMulx( db4, iF, iS); -+ u32 dr = (u32)(dr4<< 8)&(0xffffffff<<21); if(dr4<0) dr+= 1<<21; -+ u32 dg = (u32)(dg4>> 3)&(0xffffffff<<10); if(dg4<0) dg+= 1<<10; -+ u32 db = (u32)(db4>>14)&(0xffffffff ); if(db4<0) db+= 1<< 0; -+ lInc = db + dg + dr; -+ tInc = ((u32)(du4<<7)&0x7fff0000) | ((u32)(dv4>>9)&0x00007fff); -+ tMsk = (TextureWindow[2]<<23) | (TextureWindow[3]<<7) | 0x00ff00ff; -+ -+ for (s32 loop0 = 2; loop0; --loop0) -+ { -+ if (loop0 == 2) -+ { -+ ya = y0; -+ yb = y1; -+ u3 = i2x(u0); -+ v3 = i2x(v0); -+ r3 = i2x(r0); -+ g3 = i2x(g0); -+ b3 = i2x(b0); -+ x3 = i2x(x0); -+ x4 = y0!=y1 ? x3 : i2x(x1); -+ if (dx < 0) -+ { -+ xInv( (y2 - y0), iF, iS); -+ dx3 = xInvMulx( (x2 - x0), iF, iS); -+ du3 = xInvMulx( (u2 - u0), iF, iS); -+ dv3 = xInvMulx( (v2 - v0), iF, iS); -+ dr3 = xInvMulx( (r2 - r0), iF, iS); -+ dg3 = xInvMulx( (g2 - g0), iF, iS); -+ db3 = xInvMulx( (b2 - b0), iF, iS); -+ dx4 = xLoDivx ( (x1 - x0), (y1 - y0)); -+ } -+ else -+ { -+ xInv( (y1 - y0), iF, iS); -+ dx3 = xInvMulx( (x1 - x0), iF, iS); -+ du3 = xInvMulx( (u1 - u0), iF, iS); -+ dv3 = xInvMulx( (v1 - v0), iF, iS); -+ dr3 = xInvMulx( (r1 - r0), iF, iS); -+ dg3 = xInvMulx( (g1 - g0), iF, iS); -+ db3 = xInvMulx( (b1 - b0), iF, iS); -+ dx4 = xLoDivx ( (x2 - x0), (y2 - y0)); -+ } -+ } -+ else -+ { -+ ya = y1; -+ yb = y2; -+ if (dx < 0) -+ { -+ temp = y1 - y0; -+ u3 = i2x(u0) + (du3 * temp); -+ v3 = i2x(v0) + (dv3 * temp); -+ r3 = i2x(r0) + (dr3 * temp); -+ g3 = i2x(g0) + (dg3 * temp); -+ b3 = i2x(b0) + (db3 * temp); -+ x3 = i2x(x0) + (dx3 * temp); -+ x4 = i2x(x1); -+ dx4 = xLoDivx((x2 - x1), (y2 - y1)); -+ } -+ else -+ { -+ u3 = i2x(u1); -+ v3 = i2x(v1); -+ r3 = i2x(r1); -+ g3 = i2x(g1); -+ b3 = i2x(b1); -+ x3 = i2x(x1); -+ x4 = i2x(x0) + (dx4 * (y1 - y0)); -+ -+ xInv( (y2 - y1), iF, iS); -+ dx3 = xInvMulx( (x2 - x1), iF, iS); -+ du3 = xInvMulx( (u2 - u1), iF, iS); -+ dv3 = xInvMulx( (v2 - v1), iF, iS); -+ dr3 = xInvMulx( (r2 - r1), iF, iS); -+ dg3 = xInvMulx( (g2 - g1), iF, iS); -+ db3 = xInvMulx( (b2 - b1), iF, iS); -+ } -+ } -+ -+ temp = ymin - ya; -+ if (temp > 0) -+ { -+ ya = ymin; -+ x3 += dx3*temp; x4 += dx4*temp; -+ u3 += du3*temp; v3 += dv3*temp; -+ r3 += dr3*temp; g3 += dg3*temp; b3 += db3*temp; -+ } -+ if (yb > ymax) yb = ymax; -+ if (ya>=yb) continue; -+ -+ x3+= fixed_HALF; x4+= fixed_HALF; -+ u3+= fixed_HALF; v4+= fixed_HALF; -+ r3+= fixed_HALF; g3+= fixed_HALF; b3+= fixed_HALF; -+ u16* PixelBase = &((u16*)GPU_FrameBuffer)[FRAME_OFFSET(0, ya)]; -+ -+ for(;yaxmax) || (xb 0) -+ { -+ xa = xmin; -+ u4 = u3 + du4*temp; v4 = v3 + dv4*temp; -+ r4 = r3 + dr4*temp; g4 = g3 + dg4*temp; b4 = b3 + db4*temp; -+ } -+ else -+ { -+ u4 = u3; v4 = v3; -+ r4 = r3; g4 = g3; b4 = b3; -+ } -+ if(xb > xmax) xb = xmax; -+ xb-=xa; -+ if(xb>0) gpuPolySpanDriver(PixelBase + xa,xb); -+ } -+ } -+} -diff --git a/plugins/gpu_unai_old/gpu_raster_sprite.h b/plugins/gpu_unai_old/gpu_raster_sprite.h -new file mode 100644 -index 00000000..a700db32 ---- /dev/null -+++ b/plugins/gpu_unai_old/gpu_raster_sprite.h -@@ -0,0 +1,174 @@ -+/*************************************************************************** -+* Copyright (C) 2010 PCSX4ALL Team * -+* Copyright (C) 2010 Unai * -+* * -+* This program is free software; you can redistribute it and/or modify * -+* it under the terms of the GNU General Public License as published by * -+* the Free Software Foundation; either version 2 of the License, or * -+* (at your option) any later version. * -+* * -+* This program is distributed in the hope that it will be useful, * -+* but WITHOUT ANY WARRANTY; without even the implied warranty of * -+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * -+* GNU General Public License for more details. * -+* * -+* You should have received a copy of the GNU General Public License * -+* along with this program; if not, write to the * -+* Free Software Foundation, Inc., * -+* 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307 USA. * -+***************************************************************************/ -+ -+/////////////////////////////////////////////////////////////////////////////// -+// GPU internal sprite drawing functions -+ -+/////////////////////////////////////////////////////////////////////////////// -+void gpuDrawS(const PS gpuSpriteSpanDriver) -+{ -+ s32 x0, x1; -+ s32 y0, y1; -+ s32 u0; -+ s32 v0; -+ -+ x1 = x0 = GPU_EXPANDSIGN(PacketBuffer.S2[2]) + DrawingOffset[0]; -+ y1 = y0 = GPU_EXPANDSIGN(PacketBuffer.S2[3]) + DrawingOffset[1]; -+ x1+= PacketBuffer.S2[6]; -+ y1+= PacketBuffer.S2[7]; -+ -+ { -+ s32 xmin, xmax; -+ s32 ymin, ymax; -+ xmin = DrawingArea[0]; xmax = DrawingArea[2]; -+ ymin = DrawingArea[1]; ymax = DrawingArea[3]; -+ -+ { -+ int rx0 = Max2(xmin,Min2(x0,x1)); -+ int ry0 = Max2(ymin,Min2(y0,y1)); -+ int rx1 = Min2(xmax,Max2(x0,x1)); -+ int ry1 = Min2(ymax,Max2(y0,y1)); -+ if( rx0>=rx1 || ry0>=ry1) return; -+ } -+ -+ u0 = PacketBuffer.U1[8]; -+ v0 = PacketBuffer.U1[9]; -+ -+ r4 = s32(PacketBuffer.U1[0]); -+ g4 = s32(PacketBuffer.U1[1]); -+ b4 = s32(PacketBuffer.U1[2]); -+ -+ { -+ s32 temp; -+ temp = ymin - y0; -+ if (temp > 0) { y0 = ymin; v0 += temp; } -+ if (y1 > ymax) y1 = ymax; -+ if (y1 <= y0) return; -+ -+ temp = xmin - x0; -+ if (temp > 0) { x0 = xmin; u0 += temp; } -+ if (x1 > xmax) x1 = xmax; -+ x1 -= x0; -+ if (x1 <= 0) return; -+ } -+ } -+ -+ { -+ u16 *Pixel = &((u16*)GPU_FrameBuffer)[FRAME_OFFSET(x0, y0)]; -+ const int li=linesInterlace; -+ const u32 masku=TextureWindow[2]; -+ const u32 maskv=TextureWindow[3]; -+ -+ for (;y0 xmax - 16 || x0 < xmin || -+ ((u0 | v0) & 15) || !(TextureWindow[2] & TextureWindow[3] & 8)) { -+ // send corner cases to general handler -+ PacketBuffer.U4[3] = 0x00100010; -+ gpuDrawS(gpuSpriteSpanFn<0x20>); -+ return; -+ } -+ -+ if (y0 >= ymax || y0 <= ymin - 16) -+ return; -+ if (y0 < ymin) { -+ h -= ymin - y0; -+ v0 += ymin - y0; -+ y0 = ymin; -+ } -+ else if (ymax - y0 < 16) -+ h = ymax - y0; -+ -+ draw_spr16_full(&GPU_FrameBuffer[FRAME_OFFSET(x0, y0)], &TBA[FRAME_OFFSET(u0/4, v0)], CBA, h); -+} -+#endif // __arm__ -+ -+/////////////////////////////////////////////////////////////////////////////// -+void gpuDrawT(const PT gpuTileSpanDriver) -+{ -+ s32 x0, y0; -+ s32 x1, y1; -+ -+ x1 = x0 = GPU_EXPANDSIGN(PacketBuffer.S2[2]) + DrawingOffset[0]; -+ y1 = y0 = GPU_EXPANDSIGN(PacketBuffer.S2[3]) + DrawingOffset[1]; -+ x1+= PacketBuffer.S2[4]; -+ y1+= PacketBuffer.S2[5]; -+ -+ { -+ s32 xmin, xmax; -+ s32 ymin, ymax; -+ xmin = DrawingArea[0]; xmax = DrawingArea[2]; -+ ymin = DrawingArea[1]; ymax = DrawingArea[3]; -+ -+ { -+ int rx0 = Max2(xmin,Min2(x0,x1)); -+ int ry0 = Max2(ymin,Min2(y0,y1)); -+ int rx1 = Min2(xmax,Max2(x0,x1)); -+ int ry1 = Min2(ymax,Max2(y0,y1)); -+ if(rx0>=rx1 || ry0>=ry1) return; -+ } -+ -+ if (y0 < ymin) y0 = ymin; -+ if (y1 > ymax) y1 = ymax; -+ if (y1 <= y0) return; -+ -+ if (x0 < xmin) x0 = xmin; -+ if (x1 > xmax) x1 = xmax; -+ x1 -= x0; -+ if (x1 <= 0) return; -+ } -+ -+ { -+ u16 *Pixel = &((u16*)GPU_FrameBuffer)[FRAME_OFFSET(x0, y0)]; -+ const u16 Data = GPU_RGB16(PacketBuffer.U4[0]); -+ const int li=linesInterlace; -+ -+ for (; y0 -+#include -+#include -+#include "../gpulib/gpu.h" -+#include "arm_features.h" -+ -+#ifdef THREAD_RENDERING -+#include "../gpulib/gpulib_thread_if.h" -+#define do_cmd_list real_do_cmd_list -+#define renderer_init real_renderer_init -+#define renderer_finish real_renderer_finish -+#define renderer_sync_ecmds real_renderer_sync_ecmds -+#define renderer_update_caches real_renderer_update_caches -+#define renderer_flush_queues real_renderer_flush_queues -+#define renderer_set_interlace real_renderer_set_interlace -+#define renderer_set_config real_renderer_set_config -+#define renderer_notify_res_change real_renderer_notify_res_change -+#define renderer_notify_update_lace real_renderer_notify_update_lace -+#define renderer_sync real_renderer_sync -+#define ex_regs scratch_ex_regs -+#endif -+ -+ -+#define u8 uint8_t -+#define s8 int8_t -+#define u16 uint16_t -+#define s16 int16_t -+#define u32 uint32_t -+#define s32 int32_t -+#define s64 int64_t -+ -+#define INLINE static -+ -+#define FRAME_BUFFER_SIZE (1024*512*2) -+#define FRAME_WIDTH 1024 -+#define FRAME_HEIGHT 512 -+#define FRAME_OFFSET(x,y) (((y)<<10)+(x)) -+ -+#define isSkip 0 /* skip frame (info coming from GPU) */ -+#define alt_fps 0 -+static int linesInterlace; /* internal lines interlace */ -+static int force_interlace; -+ -+static bool light = true; /* lighting */ -+static bool blend = true; /* blending */ -+static bool FrameToRead = false; /* load image in progress */ -+static bool FrameToWrite = false; /* store image in progress */ -+ -+static bool enableAbbeyHack = false; /* Abe's Odyssey hack */ -+ -+static u8 BLEND_MODE; -+static u8 TEXT_MODE; -+static u8 Masking; -+ -+static u16 PixelMSB; -+static u16 PixelData; -+ -+/////////////////////////////////////////////////////////////////////////////// -+// GPU Global data -+/////////////////////////////////////////////////////////////////////////////// -+ -+// Dma Transfers info -+static s32 px,py; -+static s32 x_end,y_end; -+static u16* pvram; -+ -+static s32 PacketCount; -+static s32 PacketIndex; -+ -+// Rasterizer status -+static u32 TextureWindow [4]; -+static u32 DrawingArea [4]; -+static u32 DrawingOffset [2]; -+ -+static u16* TBA; -+static u16* CBA; -+ -+// Inner Loops -+static s32 u4, du4; -+static s32 v4, dv4; -+static s32 r4, dr4; -+static s32 g4, dg4; -+static s32 b4, db4; -+static u32 lInc; -+static u32 tInc, tMsk; -+ -+union GPUPacket -+{ -+ u32 U4[16]; -+ s32 S4[16]; -+ u16 U2[32]; -+ s16 S2[32]; -+ u8 U1[64]; -+ s8 S1[64]; -+}; -+ -+static GPUPacket PacketBuffer; -+static u16 *GPU_FrameBuffer; -+static u32 GPU_GP1; -+ -+/////////////////////////////////////////////////////////////////////////////// -+ -+#include "gpu_fixedpoint.h" -+ -+// Inner loop driver instanciation file -+#include "gpu_inner.h" -+ -+// GPU Raster Macros -+#define GPU_RGB16(rgb) ((((rgb)&0xF80000)>>9)|(((rgb)&0xF800)>>6)|(((rgb)&0xF8)>>3)) -+ -+#define GPU_EXPANDSIGN(x) (((s32)(x)<<21)>>21) -+ -+#define CHKMAX_X 1024 -+#define CHKMAX_Y 512 -+ -+#define GPU_SWAP(a,b,t) {(t)=(a);(a)=(b);(b)=(t);} -+ -+// GPU internal image drawing functions -+#include "gpu_raster_image.h" -+ -+// GPU internal line drawing functions -+#include "gpu_raster_line.h" -+ -+// GPU internal polygon drawing functions -+#include "gpu_raster_polygon.h" -+ -+// GPU internal sprite drawing functions -+#include "gpu_raster_sprite.h" -+ -+// GPU command buffer execution/store -+#include "gpu_command.h" -+ -+///////////////////////////////////////////////////////////////////////////// -+ -+int renderer_init(void) -+{ -+ GPU_FrameBuffer = (u16 *)gpu.vram; -+ -+ // s_invTable -+ for(int i=1;i<=(1<>1); -+ #else -+ v *= double(0x80000000); -+ #endif -+ s_invTable[i-1]=s32(v); -+ } -+ -+ return 0; -+} -+ -+void renderer_finish(void) -+{ -+} -+ -+void renderer_notify_res_change(void) -+{ -+} -+ -+void renderer_notify_scanout_change(int x, int y) -+{ -+} -+ -+extern const unsigned char cmd_lengths[256]; -+ -+int do_cmd_list(uint32_t *list, int list_len, -+ int *cycles_sum_out, int *cycles_last, int *last_cmd) -+{ -+ unsigned int cmd = 0, len, i; -+ unsigned int *list_start = list; -+ unsigned int *list_end = list + list_len; -+ -+ linesInterlace = force_interlace; -+#ifdef HAVE_PRE_ARMV7 /* XXX */ -+ linesInterlace |= !!(gpu.status & PSX_GPU_STATUS_INTERLACE); -+#endif -+ -+ for (; list < list_end; list += 1 + len) -+ { -+ cmd = *list >> 24; -+ len = cmd_lengths[cmd]; -+ if (list + 1 + len > list_end) { -+ cmd = -1; -+ break; -+ } -+ -+ #define PRIM cmd -+ PacketBuffer.U4[0] = list[0]; -+ for (i = 1; i <= len; i++) -+ PacketBuffer.U4[i] = list[i]; -+ -+ switch (cmd) -+ { -+ case 0x02: -+ gpuClearImage(); -+ break; -+ -+ case 0x20: -+ case 0x21: -+ case 0x22: -+ case 0x23: -+ gpuDrawF3(gpuPolySpanDrivers [Blending_Mode | Masking | Blending | PixelMSB]); -+ break; -+ -+ case 0x24: -+ case 0x25: -+ case 0x26: -+ case 0x27: -+ gpuSetCLUT (PacketBuffer.U4[2] >> 16); -+ gpuSetTexture(PacketBuffer.U4[4] >> 16); -+ if ((PacketBuffer.U1[0]>0x5F) && (PacketBuffer.U1[1]>0x5F) && (PacketBuffer.U1[2]>0x5F)) -+ gpuDrawFT3(gpuPolySpanDrivers [Blending_Mode | TEXT_MODE | Masking | Blending | PixelMSB]); -+ else -+ gpuDrawFT3(gpuPolySpanDrivers [Blending_Mode | TEXT_MODE | Masking | Blending | Lighting | PixelMSB]); -+ break; -+ -+ case 0x28: -+ case 0x29: -+ case 0x2A: -+ case 0x2B: { -+ const PP gpuPolySpanDriver = gpuPolySpanDrivers [Blending_Mode | Masking | Blending | PixelMSB]; -+ gpuDrawF3(gpuPolySpanDriver); -+ PacketBuffer.U4[1] = PacketBuffer.U4[4]; -+ gpuDrawF3(gpuPolySpanDriver); -+ break; -+ } -+ -+ case 0x2C: -+ case 0x2D: -+ case 0x2E: -+ case 0x2F: { -+ gpuSetCLUT (PacketBuffer.U4[2] >> 16); -+ gpuSetTexture(PacketBuffer.U4[4] >> 16); -+ PP gpuPolySpanDriver; -+ if ((PacketBuffer.U1[0]>0x5F) && (PacketBuffer.U1[1]>0x5F) && (PacketBuffer.U1[2]>0x5F)) -+ gpuPolySpanDriver = gpuPolySpanDrivers [Blending_Mode | TEXT_MODE | Masking | Blending | PixelMSB]; -+ else -+ gpuPolySpanDriver = gpuPolySpanDrivers [Blending_Mode | TEXT_MODE | Masking | Blending | Lighting | PixelMSB]; -+ gpuDrawFT3(gpuPolySpanDriver); -+ PacketBuffer.U4[1] = PacketBuffer.U4[7]; -+ PacketBuffer.U4[2] = PacketBuffer.U4[8]; -+ gpuDrawFT3(gpuPolySpanDriver); -+ break; -+ } -+ -+ case 0x30: -+ case 0x31: -+ case 0x32: -+ case 0x33: -+ gpuDrawG3(gpuPolySpanDrivers [Blending_Mode | Masking | Blending | 129 | PixelMSB]); -+ break; -+ -+ case 0x34: -+ case 0x35: -+ case 0x36: -+ case 0x37: -+ gpuSetCLUT (PacketBuffer.U4[2] >> 16); -+ gpuSetTexture (PacketBuffer.U4[5] >> 16); -+ gpuDrawGT3(gpuPolySpanDrivers [Blending_Mode | TEXT_MODE | Masking | Blending | ((Lighting)?129:0) | PixelMSB]); -+ break; -+ -+ case 0x38: -+ case 0x39: -+ case 0x3A: -+ case 0x3B: { -+ const PP gpuPolySpanDriver = gpuPolySpanDrivers [Blending_Mode | Masking | Blending | 129 | PixelMSB]; -+ gpuDrawG3(gpuPolySpanDriver); -+ PacketBuffer.U4[0] = PacketBuffer.U4[6]; -+ PacketBuffer.U4[1] = PacketBuffer.U4[7]; -+ gpuDrawG3(gpuPolySpanDriver); -+ break; -+ } -+ -+ case 0x3C: -+ case 0x3D: -+ case 0x3E: -+ case 0x3F: { -+ gpuSetCLUT (PacketBuffer.U4[2] >> 16); -+ gpuSetTexture (PacketBuffer.U4[5] >> 16); -+ const PP gpuPolySpanDriver = gpuPolySpanDrivers [Blending_Mode | TEXT_MODE | Masking | Blending | ((Lighting)?129:0) | PixelMSB]; -+ gpuDrawGT3(gpuPolySpanDriver); -+ PacketBuffer.U4[0] = PacketBuffer.U4[9]; -+ PacketBuffer.U4[1] = PacketBuffer.U4[10]; -+ PacketBuffer.U4[2] = PacketBuffer.U4[11]; -+ gpuDrawGT3(gpuPolySpanDriver); -+ break; -+ } -+ -+ case 0x40: -+ case 0x41: -+ case 0x42: -+ case 0x43: -+ gpuDrawLF(gpuPixelDrivers [ (Blending_Mode | Masking | Blending | (PixelMSB>>3)) >> 1]); -+ break; -+ -+ case 0x48 ... 0x4F: -+ { -+ u32 num_vertexes = 1; -+ u32 *list_position = &(list[2]); -+ -+ gpuDrawLF(gpuPixelDrivers [ (Blending_Mode | Masking | Blending | (PixelMSB>>3)) >> 1]); -+ -+ while(1) -+ { -+ PacketBuffer.U4[1] = PacketBuffer.U4[2]; -+ PacketBuffer.U4[2] = *list_position++; -+ gpuDrawLF(gpuPixelDrivers [ (Blending_Mode | Masking | Blending | (PixelMSB>>3)) >> 1]); -+ -+ num_vertexes++; -+ if(list_position >= list_end) { -+ cmd = -1; -+ goto breakloop; -+ } -+ if((*list_position & 0xf000f000) == 0x50005000) -+ break; -+ } -+ -+ len += (num_vertexes - 2); -+ break; -+ } -+ -+ case 0x50: -+ case 0x51: -+ case 0x52: -+ case 0x53: -+ gpuDrawLG(gpuPixelDrivers [ (Blending_Mode | Masking | Blending | (PixelMSB>>3)) >> 1]); -+ break; -+ -+ case 0x58 ... 0x5F: -+ { -+ u32 num_vertexes = 1; -+ u32 *list_position = &(list[2]); -+ -+ gpuDrawLG(gpuPixelDrivers [ (Blending_Mode | Masking | Blending | (PixelMSB>>3)) >> 1]); -+ -+ while(1) -+ { -+ PacketBuffer.U4[0] = PacketBuffer.U4[2]; -+ PacketBuffer.U4[1] = PacketBuffer.U4[3]; -+ PacketBuffer.U4[2] = *list_position++; -+ PacketBuffer.U4[3] = *list_position++; -+ gpuDrawLG(gpuPixelDrivers [ (Blending_Mode | Masking | Blending | (PixelMSB>>3)) >> 1]); -+ -+ num_vertexes++; -+ if(list_position >= list_end) { -+ cmd = -1; -+ goto breakloop; -+ } -+ if((*list_position & 0xf000f000) == 0x50005000) -+ break; -+ } -+ -+ len += (num_vertexes - 2) * 2; -+ break; -+ } -+ -+ case 0x60: -+ case 0x61: -+ case 0x62: -+ case 0x63: -+ gpuDrawT(gpuTileSpanDrivers [Blending_Mode | Masking | Blending | (PixelMSB>>3)]); -+ break; -+ -+ case 0x64: -+ case 0x65: -+ case 0x66: -+ case 0x67: -+ gpuSetCLUT (PacketBuffer.U4[2] >> 16); -+ gpuSetTexture (GPU_GP1); -+ if ((PacketBuffer.U1[0]>0x5F) && (PacketBuffer.U1[1]>0x5F) && (PacketBuffer.U1[2]>0x5F)) -+ gpuDrawS(gpuSpriteSpanDrivers [Blending_Mode | TEXT_MODE | Masking | Blending | (enableAbbeyHack<<7) | PixelMSB]); -+ else -+ gpuDrawS(gpuSpriteSpanDrivers [Blending_Mode | TEXT_MODE | Masking | Blending | Lighting | (enableAbbeyHack<<7) | PixelMSB]); -+ break; -+ -+ case 0x68: -+ case 0x69: -+ case 0x6A: -+ case 0x6B: -+ PacketBuffer.U4[2] = 0x00010001; -+ gpuDrawT(gpuTileSpanDrivers [Blending_Mode | Masking | Blending | (PixelMSB>>3)]); -+ break; -+ -+ case 0x70: -+ case 0x71: -+ case 0x72: -+ case 0x73: -+ PacketBuffer.U4[2] = 0x00080008; -+ gpuDrawT(gpuTileSpanDrivers [Blending_Mode | Masking | Blending | (PixelMSB>>3)]); -+ break; -+ -+ case 0x74: -+ case 0x75: -+ case 0x76: -+ case 0x77: -+ PacketBuffer.U4[3] = 0x00080008; -+ gpuSetCLUT (PacketBuffer.U4[2] >> 16); -+ gpuSetTexture (GPU_GP1); -+ if ((PacketBuffer.U1[0]>0x5F) && (PacketBuffer.U1[1]>0x5F) && (PacketBuffer.U1[2]>0x5F)) -+ gpuDrawS(gpuSpriteSpanDrivers [Blending_Mode | TEXT_MODE | Masking | Blending | (enableAbbeyHack<<7) | PixelMSB]); -+ else -+ gpuDrawS(gpuSpriteSpanDrivers [Blending_Mode | TEXT_MODE | Masking | Blending | Lighting | (enableAbbeyHack<<7) | PixelMSB]); -+ break; -+ -+ case 0x78: -+ case 0x79: -+ case 0x7A: -+ case 0x7B: -+ PacketBuffer.U4[2] = 0x00100010; -+ gpuDrawT(gpuTileSpanDrivers [Blending_Mode | Masking | Blending | (PixelMSB>>3)]); -+ break; -+ -+ case 0x7C: -+ case 0x7D: -+#ifdef __arm__ -+ if ((GPU_GP1 & 0x180) == 0 && (Masking | PixelMSB) == 0) -+ { -+ gpuSetCLUT (PacketBuffer.U4[2] >> 16); -+ gpuSetTexture (GPU_GP1); -+ gpuDrawS16(); -+ break; -+ } -+ // fallthrough -+#endif -+ case 0x7E: -+ case 0x7F: -+ PacketBuffer.U4[3] = 0x00100010; -+ gpuSetCLUT (PacketBuffer.U4[2] >> 16); -+ gpuSetTexture (GPU_GP1); -+ if ((PacketBuffer.U1[0]>0x5F) && (PacketBuffer.U1[1]>0x5F) && (PacketBuffer.U1[2]>0x5F)) -+ gpuDrawS(gpuSpriteSpanDrivers [Blending_Mode | TEXT_MODE | Masking | Blending | (enableAbbeyHack<<7) | PixelMSB]); -+ else -+ gpuDrawS(gpuSpriteSpanDrivers [Blending_Mode | TEXT_MODE | Masking | Blending | Lighting | (enableAbbeyHack<<7) | PixelMSB]); -+ break; -+ -+#ifdef TEST -+ case 0x80: // vid -> vid -+ gpuMoveImage(); // prim handles updateLace && skip -+ break; -+ case 0xA0: // sys -> vid -+ { -+ u32 load_width = list[2] & 0xffff; -+ u32 load_height = list[2] >> 16; -+ u32 load_size = load_width * load_height; -+ -+ len += load_size / 2; -+ break; -+ } -+ case 0xC0: -+ break; -+#else -+ case 0x80 ... 0x9F: // vid -> vid -+ case 0xA0 ... 0xBF: // sys -> vid -+ case 0xC0 ... 0xDF: // vid -> sys -+ // Handled by gpulib -+ goto breakloop; -+#endif -+ case 0xE1: { -+ const u32 temp = PacketBuffer.U4[0]; -+ GPU_GP1 = (GPU_GP1 & ~0x000007FF) | (temp & 0x000007FF); -+ gpuSetTexture(temp); -+ gpu.ex_regs[1] = temp; -+ break; -+ } -+ case 0xE2: { -+ static const u8 TextureMask[32] = { -+ 255, 7, 15, 7, 31, 7, 15, 7, 63, 7, 15, 7, 31, 7, 15, 7, -+ 127, 7, 15, 7, 31, 7, 15, 7, 63, 7, 15, 7, 31, 7, 15, 7 -+ }; -+ const u32 temp = PacketBuffer.U4[0]; -+ TextureWindow[0] = ((temp >> 10) & 0x1F) << 3; -+ TextureWindow[1] = ((temp >> 15) & 0x1F) << 3; -+ TextureWindow[2] = TextureMask[(temp >> 0) & 0x1F]; -+ TextureWindow[3] = TextureMask[(temp >> 5) & 0x1F]; -+ gpuSetTexture(GPU_GP1); -+ gpu.ex_regs[2] = temp; -+ break; -+ } -+ case 0xE3: { -+ const u32 temp = PacketBuffer.U4[0]; -+ DrawingArea[0] = temp & 0x3FF; -+ DrawingArea[1] = (temp >> 10) & 0x3FF; -+ gpu.ex_regs[3] = temp; -+ break; -+ } -+ case 0xE4: { -+ const u32 temp = PacketBuffer.U4[0]; -+ DrawingArea[2] = (temp & 0x3FF) + 1; -+ DrawingArea[3] = ((temp >> 10) & 0x3FF) + 1; -+ gpu.ex_regs[4] = temp; -+ break; -+ } -+ case 0xE5: { -+ const u32 temp = PacketBuffer.U4[0]; -+ DrawingOffset[0] = ((s32)temp<<(32-11))>>(32-11); -+ DrawingOffset[1] = ((s32)temp<<(32-22))>>(32-11); -+ gpu.ex_regs[5] = temp; -+ break; -+ } -+ case 0xE6: { -+ const u32 temp = PacketBuffer.U4[0]; -+ Masking = (temp & 0x2) << 1; -+ PixelMSB =(temp & 0x1) << 8; -+ gpu.ex_regs[6] = temp; -+ break; -+ } -+ } -+ } -+ -+breakloop: -+ gpu.ex_regs[1] &= ~0x1ff; -+ gpu.ex_regs[1] |= GPU_GP1 & 0x1ff; -+ -+ *last_cmd = cmd; -+ return list - list_start; -+} -+ -+void renderer_sync_ecmds(uint32_t *ecmds) -+{ -+ int dummy; -+ do_cmd_list(&ecmds[1], 6, &dummy, &dummy, &dummy); -+} -+ -+void renderer_update_caches(int x, int y, int w, int h, int state_changed) -+{ -+} -+ -+void renderer_flush_queues(void) -+{ -+} -+ -+void renderer_set_interlace(int enable, int is_odd) -+{ -+} -+ -+#ifndef TEST -+ -+#include "../../frontend/plugin_lib.h" -+ -+void renderer_set_config(const struct rearmed_cbs *cbs) -+{ -+ force_interlace = cbs->gpu_unai_old.lineskip; -+ enableAbbeyHack = cbs->gpu_unai_old.abe_hack; -+ light = !cbs->gpu_unai_old.no_light; -+ blend = !cbs->gpu_unai_old.no_blend; -+ -+ GPU_FrameBuffer = (u16 *)gpu.vram; -+} -+ -+#endif -+ -+void renderer_sync(void) -+{ -+} -+ -+void renderer_notify_update_lace(int updated) -+{ -+} -+ -+// vim:shiftwidth=2:expandtab -diff --git a/plugins/gpu_unai_old/port.h b/plugins/gpu_unai_old/port.h -new file mode 100644 -index 00000000..238b98bc ---- /dev/null -+++ b/plugins/gpu_unai_old/port.h -@@ -0,0 +1,36 @@ -+#include -+#include -+ -+#define INLINE static inline -+ -+#define GPU_init GPUinit -+#define GPU_shutdown GPUshutdown -+//#define GPU_freeze GPUfreeze -+#define GPU_writeDataMem GPUwriteDataMem -+#define GPU_dmaChain GPUdmaChain -+#define GPU_writeData GPUwriteData -+#define GPU_readDataMem GPUreadDataMem -+#define GPU_readData GPUreadData -+#define GPU_readStatus GPUreadStatus -+#define GPU_writeStatus GPUwriteStatus -+#define GPU_updateLace GPUupdateLace -+ -+extern "C" { -+ -+#define u32 unsigned int -+#define s32 signed int -+ -+bool GPUinit(void); -+void GPUshutdown(void); -+void GPUwriteDataMem(u32* dmaAddress, s32 dmaCount); -+long GPUdmaChain(u32* baseAddr, u32 dmaVAddr); -+void GPUwriteData(u32 data); -+void GPUreadDataMem(u32* dmaAddress, s32 dmaCount); -+u32 GPUreadData(void); -+u32 GPUreadStatus(void); -+void GPUwriteStatus(u32 data); -+ -+#undef u32 -+#undef s32 -+ -+} -diff --git a/plugins/gpu_unai_old/profiler.h b/plugins/gpu_unai_old/profiler.h -new file mode 100644 -index 00000000..c09c95f5 ---- /dev/null -+++ b/plugins/gpu_unai_old/profiler.h -@@ -0,0 +1,4 @@ -+#define pcsx4all_prof_pause(...) -+#define pcsx4all_prof_start_with_pause(...) -+#define pcsx4all_prof_end_with_resume(...) -+#define pcsx4all_prof_resume(...) diff --git a/package/miyoo/retroarch/libretro-pcsx_rearmed/0002-LIBRETRO-update-core_options.patch b/package/miyoo/retroarch/libretro-pcsx_rearmed/0002-LIBRETRO-update-core_options.patch new file mode 100644 index 00000000..5857413b --- /dev/null +++ b/package/miyoo/retroarch/libretro-pcsx_rearmed/0002-LIBRETRO-update-core_options.patch @@ -0,0 +1,100 @@ +From 958a3a4c41917a61dbfb51c3d7e15266110f8a58 Mon Sep 17 00:00:00 2001 +From: Apaczer <94932128+Apaczer@users.noreply.github.com> +Date: Sat, 15 Mar 2025 13:56:30 +0100 +Subject: [PATCH] LIBRETRO: update core_options + +- add extra low CPU values (def 40) +- disable dithering +- enable fast_lighting +- enable frameskip (def: auto_threshold 60%) +--- + frontend/libretro_core_options.h | 32 ++++++++++++++++++++++++++------ + 1 file changed, 26 insertions(+), 6 deletions(-) + +diff --git a/frontend/libretro_core_options.h b/frontend/libretro_core_options.h +index 8c457582..8cb42c0e 100644 +--- a/frontend/libretro_core_options.h ++++ b/frontend/libretro_core_options.h +@@ -233,13 +233,33 @@ struct retro_core_option_v2_definition option_defs_us[] = { + #if defined(HAVE_PRE_ARMV7) && !defined(_3DS) + " Default is 50." + #else +- " Default is 57." ++ " Default is 40." + #endif + , + NULL, + "system", + { + { "auto", "Auto" }, ++ { "10", NULL }, ++ { "11", NULL }, ++ { "12", NULL }, ++ { "13", NULL }, ++ { "14", NULL }, ++ { "15", NULL }, ++ { "16", NULL }, ++ { "17", NULL }, ++ { "18", NULL }, ++ { "19", NULL }, ++ { "20", NULL }, ++ { "21", NULL }, ++ { "22", NULL }, ++ { "23", NULL }, ++ { "24", NULL }, ++ { "25", NULL }, ++ { "26", NULL }, ++ { "27", NULL }, ++ { "28", NULL }, ++ { "29", NULL }, + { "30", NULL }, + { "31", NULL }, + { "32", NULL }, +@@ -313,7 +333,7 @@ struct retro_core_option_v2_definition option_defs_us[] = { + { "100", NULL }, + { NULL, NULL }, + }, +- "auto", ++ "40", + }, + { + "pcsx_rearmed_dithering", +@@ -328,7 +348,7 @@ struct retro_core_option_v2_definition option_defs_us[] = { + { "force", "Force" }, + { NULL, NULL }, + }, +-#if defined(_3DS) ++#if defined(_3DS) || defined(_MIYOO) + "disabled", + #else + "enabled", +@@ -365,7 +385,7 @@ struct retro_core_option_v2_definition option_defs_us[] = { + { "fixed_interval", "Fixed Interval" }, + { NULL, NULL }, + }, +- "disabled" ++ "auto_threshold" + }, + { + "pcsx_rearmed_frameskip_threshold", +@@ -393,7 +413,7 @@ struct retro_core_option_v2_definition option_defs_us[] = { + { "60", NULL }, + { NULL, NULL }, + }, +- "33" ++ "60" + }, + { + "pcsx_rearmed_frameskip_interval", +@@ -793,7 +813,7 @@ struct retro_core_option_v2_definition option_defs_us[] = { + { "enabled", NULL }, + { NULL, NULL}, + }, +- "disabled", ++ "enabled", + }, + { + "pcsx_rearmed_gpu_unai_scale_hires", +-- +2.45.2.windows.1 + diff --git a/package/miyoo/retroarch/libretro-pcsx_rearmed/0002-optimize-flags.patch b/package/miyoo/retroarch/libretro-pcsx_rearmed/0002-optimize-flags.patch deleted file mode 100644 index eddf11df..00000000 --- a/package/miyoo/retroarch/libretro-pcsx_rearmed/0002-optimize-flags.patch +++ /dev/null @@ -1,44 +0,0 @@ -diff --git a/Makefile.libretro b/Makefile.libretro -index 1169d892..6ea2dfd6 100644 ---- a/Makefile.libretro -+++ b/Makefile.libretro -@@ -4,6 +4,7 @@ DEBUG ?= 0 - WANT_ZLIB ?= 1 - HAVE_CHD ?= 1 - USE_LIBRETRO_VFS ?= 0 -+PROFILE ?= 0 - - # Dynarec options: lightrec, ari64 - DYNAREC ?= lightrec -@@ -532,13 +533,29 @@ else ifneq (,$(findstring armv,$(platform))) - - else ifeq ($(platform), miyoo) - TARGET := $(TARGET_NAME)_libretro.so -- fpic := -fPIC -- CFLAGS += -mcpu=arm926ej-s -fsingle-precision-constant -+ fpic := -fno-PIC -+ CFLAGS += -mcpu=arm926ej-s -fsingle-precision-constant -Ofast -fdata-sections -ffunction-sections -fsingle-precision-constant - CFLAGS += -DGPU_UNAI_USE_INT_DIV_MULTINV -D_MIYOO -+ CFLAGS += -flto=auto -fno-common -fno-ipa-cp -fno-caller-saves -fno-regmove -finline-limit=42 \ -+ -fuse-linker-plugin \ -+ -fno-stack-protector -fno-ident -fomit-frame-pointer \ -+ -fno-unroll-loops -ffast-math \ -+ -marm -+ CXXFLAGS += $(CFLAGS) -+ CPPFLAGS += $(CFLAGS) -+ ASFLAGS += $(CFLAGS) -+ THREAD_RENDERING := 1 - ARCH = arm - BUILTIN_GPU = unai_old - DYNAREC = ari64 - HAVE_NEON = 0 -+ BASE_ADDR_DYNAMIC := 1 -+ifeq ($(PROFILE), YES) -+ CFLAGS += -fprofile-generate=$(HOMEPATH)/profile # rm path if you want dir structure intact at runtime -+ LDFLAGS += -lgcov -+else ifeq ($(PROFILE), APPLY) -+ CFLAGS += -fprofile-use -fbranch-probabilities -Wno-error=coverage-mismatch -+endif - - # Emscripten - else ifeq ($(platform), emscripten) diff --git a/package/miyoo/retroarch/libretro-pcsx_rearmed/0003-LIBERTRO-add-Interlace-mode-to-UNAI-options.patch b/package/miyoo/retroarch/libretro-pcsx_rearmed/0003-LIBERTRO-add-Interlace-mode-to-UNAI-options.patch new file mode 100644 index 00000000..0ed6c67b --- /dev/null +++ b/package/miyoo/retroarch/libretro-pcsx_rearmed/0003-LIBERTRO-add-Interlace-mode-to-UNAI-options.patch @@ -0,0 +1,68 @@ +From 01cf6d834eb73d8bfa427b3ae21d7c8bd160161c Mon Sep 17 00:00:00 2001 +From: Apaczer <94932128+Apaczer@users.noreply.github.com> +Date: Tue, 18 Mar 2025 14:49:26 +0100 +Subject: [PATCH] LIBERTRO: add "Interlace mode" to UNAI options + +--- + frontend/libretro.c | 12 ++++++++++++ + frontend/libretro_core_options.h | 14 ++++++++++++++ + 2 files changed, 26 insertions(+) + +diff --git a/frontend/libretro.c b/frontend/libretro.c +index c67333ab..58f72299 100644 +--- a/frontend/libretro.c ++++ b/frontend/libretro.c +@@ -923,6 +923,7 @@ static bool update_option_visibility(void) + struct retro_core_option_display option_display; + char gpu_unai_option[][40] = { + "pcsx_rearmed_gpu_unai_blending", ++ "pcsx_rearmed_gpu_unai_interlace", + "pcsx_rearmed_gpu_unai_lighting", + "pcsx_rearmed_gpu_unai_fast_lighting", + "pcsx_rearmed_gpu_unai_scale_hires", +@@ -2655,6 +2656,17 @@ static void update_variables(bool in_flight) + pl_rearmed_cbs.gpu_unai.old_renderer = 0; + } + ++ var.key = "pcsx_rearmed_gpu_unai_interlace"; ++ var.value = NULL; ++ ++ if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) ++ { ++ if (strcmp(var.value, "disabled") == 0) ++ pl_rearmed_cbs.gpu_unai.ilace_force = 0; ++ else if (strcmp(var.value, "enabled") == 0) ++ pl_rearmed_cbs.gpu_unai.ilace_force = 1; ++ } ++ + var.key = "pcsx_rearmed_gpu_unai_lighting"; + var.value = NULL; + +diff --git a/frontend/libretro_core_options.h b/frontend/libretro_core_options.h +index 8cb42c0e..81b28260 100644 +--- a/frontend/libretro_core_options.h ++++ b/frontend/libretro_core_options.h +@@ -787,6 +787,20 @@ struct retro_core_option_v2_definition option_defs_us[] = { + }, + "enabled", + }, ++ { ++ "pcsx_rearmed_gpu_unai_interlace", ++ "(GPU) Interlace mode", ++ "Interlace mode", ++ "Enable simulated interlace mode, which skips every second scanline. Can be enabled to improve performance at the expense of display inaccuracies (artifacts etc.).", ++ NULL, ++ "gpu_unai", ++ { ++ { "disabled", NULL }, ++ { "enabled", NULL }, ++ { NULL, NULL}, ++ }, ++ "disabled", ++ }, + { + "pcsx_rearmed_gpu_unai_lighting", + "(GPU) Lighting Effects", +-- +2.45.2.windows.1 + diff --git a/package/miyoo/retroarch/libretro-pcsx_rearmed/libretro-pcsx_rearmed.hash b/package/miyoo/retroarch/libretro-pcsx_rearmed/libretro-pcsx_rearmed.hash index 8bbf7258..999a7619 100644 --- a/package/miyoo/retroarch/libretro-pcsx_rearmed/libretro-pcsx_rearmed.hash +++ b/package/miyoo/retroarch/libretro-pcsx_rearmed/libretro-pcsx_rearmed.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 b6b7a73117416f6de3c4cda37f49a6516a9d3abf9fa16bc12862af1b776fc3ef libretro-pcsx_rearmed-5ee1c9269d333936eba3e7e3259956f601ff5edd.tar.gz +sha256 cae4fb69d6be8971f967c9de42f3367a235e30ac1becbb9612247da8780520dd libretro-pcsx_rearmed-f49a4c48cb6eb1974505644f2ae76cf55693e9fe-br1.tar.gz diff --git a/package/miyoo/retroarch/libretro-pcsx_rearmed/libretro-pcsx_rearmed.mk b/package/miyoo/retroarch/libretro-pcsx_rearmed/libretro-pcsx_rearmed.mk index 6bd7e475..c35e4573 100644 --- a/package/miyoo/retroarch/libretro-pcsx_rearmed/libretro-pcsx_rearmed.mk +++ b/package/miyoo/retroarch/libretro-pcsx_rearmed/libretro-pcsx_rearmed.mk @@ -4,11 +4,13 @@ # ################################################################################ -# Commit of 2024/01/08 -LIBRETRO_PCSX_REARMED_VERSION = 5ee1c9269d333936eba3e7e3259956f601ff5edd -LIBRETRO_PCSX_REARMED_SITE = $(call github,libretro,pcsx_rearmed,$(LIBRETRO_PCSX_REARMED_VERSION)) +# Commit of Mar-3-2025 +LIBRETRO_PCSX_REARMED_VERSION = f49a4c48cb6eb1974505644f2ae76cf55693e9fe +LIBRETRO_PCSX_REARMED_SITE = https://github.com/notaz/pcsx_rearmed +LIBRETRO_PCSX_REARMED_SITE_METHOD = git LIBRETRO_PCSX_REARMED_LICENSE = GPL-2.0 LIBRETRO_PCSX_REARMED_LICENSE_FILES = COPYING +LIBRETRO_PCSX_REARMED_GIT_SUBMODULES = YES # Optimize build with Profile Guided Optimization (values: 0, YES, APPLY) LIBRETRO_PCSX_REARMED_PGO ?= APPLY @@ -19,7 +21,6 @@ endef endif define LIBRETRO_PCSX_REARMED_BUILD_CMDS - $(SED) "s|-O2|-O3|g" $(@D)/Makefile CFLAGS="$(TARGET_CFLAGS) $(COMPILER_COMMONS_CFLAGS_SO)" \ CXXFLAGS="$(TARGET_CXXFLAGS) $(COMPILER_COMMONS_CXXFLAGS_SO)" \ LDFLAGS="$(TARGET_LDFLAGS) $(COMPILER_COMMONS_LDFLAGS_SO)" \