├── .gitignore ├── .gitlab-ci.yml ├── .travis.yml ├── HISTORY.txt ├── LICENSE.txt ├── Makefile.gc ├── Makefile.libretro ├── Makefile.wii ├── README.md ├── appveyor.yml ├── core ├── cart_hw │ ├── areplay.c │ ├── areplay.h │ ├── eeprom_93c.c │ ├── eeprom_93c.h │ ├── eeprom_i2c.c │ ├── eeprom_i2c.h │ ├── eeprom_spi.c │ ├── eeprom_spi.h │ ├── ggenie.c │ ├── ggenie.h │ ├── md_cart.c │ ├── md_cart.h │ ├── megasd.c │ ├── megasd.h │ ├── sms_cart.c │ ├── sms_cart.h │ ├── sram.c │ ├── sram.h │ └── svp │ │ ├── imageformat.txt │ │ ├── ssp16.c │ │ ├── ssp16.h │ │ ├── svp.c │ │ ├── svp.h │ │ └── svpdoc.txt ├── cd_hw │ ├── cd_cart.c │ ├── cd_cart.h │ ├── cdc.c │ ├── cdc.h │ ├── cdd.c │ ├── cdd.h │ ├── gfx.c │ ├── gfx.h │ ├── libchdr │ │ ├── LICENSE.txt │ │ ├── README.md │ │ ├── deps │ │ │ ├── libFLAC │ │ │ │ ├── AUTHORS │ │ │ │ ├── COPYING.Xiph │ │ │ │ ├── README │ │ │ │ ├── bitmath.c │ │ │ │ ├── bitreader.c │ │ │ │ ├── cpu.c │ │ │ │ ├── crc.c │ │ │ │ ├── fixed.c │ │ │ │ ├── float.c │ │ │ │ ├── format.c │ │ │ │ ├── include │ │ │ │ │ ├── FLAC │ │ │ │ │ │ ├── assert.h │ │ │ │ │ │ ├── callback.h │ │ │ │ │ │ ├── export.h │ │ │ │ │ │ ├── format.h │ │ │ │ │ │ ├── metadata.h │ │ │ │ │ │ ├── ordinals.h │ │ │ │ │ │ └── stream_decoder.h │ │ │ │ │ ├── private │ │ │ │ │ │ ├── bitmath.h │ │ │ │ │ │ ├── bitreader.h │ │ │ │ │ │ ├── cpu.h │ │ │ │ │ │ ├── crc.h │ │ │ │ │ │ ├── fixed.h │ │ │ │ │ │ ├── float.h │ │ │ │ │ │ ├── format.h │ │ │ │ │ │ ├── lpc.h │ │ │ │ │ │ ├── macros.h │ │ │ │ │ │ ├── md5.h │ │ │ │ │ │ └── memory.h │ │ │ │ │ ├── protected │ │ │ │ │ │ └── stream_decoder.h │ │ │ │ │ └── share │ │ │ │ │ │ ├── alloc.h │ │ │ │ │ │ ├── compat.h │ │ │ │ │ │ └── endswap.h │ │ │ │ ├── lpc.c │ │ │ │ ├── lpc_intrin_avx2.c │ │ │ │ ├── lpc_intrin_sse.c │ │ │ │ ├── lpc_intrin_sse2.c │ │ │ │ ├── lpc_intrin_sse41.c │ │ │ │ ├── md5.c │ │ │ │ ├── memory.c │ │ │ │ └── stream_decoder.c │ │ │ ├── lzma │ │ │ │ ├── 7zTypes.h │ │ │ │ ├── Compiler.h │ │ │ │ ├── DOC │ │ │ │ │ ├── lzma-history.txt │ │ │ │ │ ├── lzma-sdk.txt │ │ │ │ │ ├── lzma-specification.txt │ │ │ │ │ └── lzma.txt │ │ │ │ ├── LzFind.c │ │ │ │ ├── LzFind.h │ │ │ │ ├── LzHash.h │ │ │ │ ├── LzmaDec.c │ │ │ │ ├── LzmaDec.h │ │ │ │ ├── LzmaEnc.c │ │ │ │ ├── LzmaEnc.h │ │ │ │ └── Precomp.h │ │ │ └── zlib │ │ │ │ ├── ChangeLog │ │ │ │ ├── README │ │ │ │ ├── adler32.c │ │ │ │ ├── gzguts.h │ │ │ │ ├── inffast.c │ │ │ │ ├── inffast.h │ │ │ │ ├── inffixed.h │ │ │ │ ├── inflate.c │ │ │ │ ├── inflate.h │ │ │ │ ├── inftrees.c │ │ │ │ ├── inftrees.h │ │ │ │ ├── zconf.h │ │ │ │ ├── zlib.h │ │ │ │ ├── zutil.c │ │ │ │ └── zutil.h │ │ └── src │ │ │ ├── bitstream.c │ │ │ ├── bitstream.h │ │ │ ├── cdrom.c │ │ │ ├── cdrom.h │ │ │ ├── chd.c │ │ │ ├── chd.h │ │ │ ├── coretypes.h │ │ │ ├── flac.c │ │ │ ├── flac.h │ │ │ ├── huffman.c │ │ │ └── huffman.h │ ├── pcm.c │ ├── pcm.h │ ├── scd.c │ └── scd.h ├── debug │ ├── cpuhook.c │ └── cpuhook.h ├── genesis.c ├── genesis.h ├── hvc.h ├── input_hw │ ├── activator.c │ ├── activator.h │ ├── gamepad.c │ ├── gamepad.h │ ├── graphic_board.c │ ├── graphic_board.h │ ├── input.c │ ├── input.h │ ├── lightgun.c │ ├── lightgun.h │ ├── mouse.c │ ├── mouse.h │ ├── paddle.c │ ├── paddle.h │ ├── sportspad.c │ ├── sportspad.h │ ├── teamplayer.c │ ├── teamplayer.h │ ├── terebi_oekaki.c │ ├── terebi_oekaki.h │ ├── xe_1ap.c │ └── xe_1ap.h ├── io_ctrl.c ├── io_ctrl.h ├── loadrom.c ├── loadrom.h ├── m68k │ ├── m68k.h │ ├── m68kconf.h │ ├── m68kcpu.c │ ├── m68kcpu.h │ ├── m68ki_cycles.h │ ├── m68ki_instruction_jump_table.h │ ├── m68kops.h │ ├── readme.txt │ ├── s68kconf.h │ ├── s68kcpu.c │ └── s68ki_cycles.h ├── macros.h ├── mem68k.c ├── mem68k.h ├── membnk.c ├── membnk.h ├── memz80.c ├── memz80.h ├── ntsc │ ├── changes.txt │ ├── license.txt │ ├── md_ntsc.c │ ├── md_ntsc.h │ ├── md_ntsc_config.h │ ├── md_ntsc_impl.h │ ├── readme.txt │ ├── sms_ntsc.c │ ├── sms_ntsc.h │ ├── sms_ntsc.txt │ ├── sms_ntsc_config.h │ └── sms_ntsc_impl.h ├── shared.h ├── sound │ ├── blip_buf.c │ ├── blip_buf.h │ ├── eq.c │ ├── eq.h │ ├── opll.c │ ├── opll.h │ ├── psg.c │ ├── psg.h │ ├── sound.c │ ├── sound.h │ ├── ym2413.c │ ├── ym2413.h │ ├── ym2612.c │ ├── ym2612.h │ ├── ym3438.c │ └── ym3438.h ├── state.c ├── state.h ├── system.c ├── system.h ├── tremor │ ├── CHANGELOG │ ├── COPYING │ ├── README │ ├── Version_script.in │ ├── asm_arm.h │ ├── backends.h │ ├── bitwise.c │ ├── block.c │ ├── block.h │ ├── codebook.c │ ├── codebook.h │ ├── codec_internal.h │ ├── config_types.h │ ├── configure.in │ ├── floor0.c │ ├── floor1.c │ ├── framing.c │ ├── info.c │ ├── ivorbiscodec.h │ ├── ivorbisfile.h │ ├── lsp_lookup.h │ ├── mapping0.c │ ├── mdct.c │ ├── mdct.h │ ├── mdct_lookup.h │ ├── misc.h │ ├── ogg.h │ ├── os.h │ ├── os_types.h │ ├── registry.c │ ├── registry.h │ ├── res012.c │ ├── sharedbook.c │ ├── synthesis.c │ ├── vorbisfile.c │ ├── window.c │ ├── window.h │ └── window_lookup.h ├── types.h ├── vdp_ctrl.c ├── vdp_ctrl.h ├── vdp_render.c ├── vdp_render.h └── z80 │ ├── osd_cpu.h │ ├── z80.c │ └── z80.h ├── gcw0 ├── Makefile ├── config.c ├── config.h ├── error.c ├── error.h ├── fileio.c ├── fileio.h ├── main.c ├── main.h ├── opk-data │ ├── CLASSIC_01.png │ ├── CLASSIC_01_RED.png │ ├── CLASSIC_02.png │ ├── GG.png │ ├── LICENSE.txt │ ├── MCD.png │ ├── MD.png │ ├── PICO.png │ ├── ProggyTiny.ttf │ ├── SG1000.png │ ├── SMS.png │ ├── SQUARE_02.png │ ├── default.gcw0.desktop │ ├── gcw0readme.txt │ └── scanlines.png ├── opk_build.sh ├── osd.h ├── unzip.c ├── unzip.h ├── utils.c └── utils.h ├── gx ├── config.c ├── config.h ├── docs │ ├── README.doc │ └── README.pdf ├── fileio │ ├── file_load.c │ ├── file_load.h │ ├── file_slot.c │ ├── file_slot.h │ ├── fileio.c │ ├── fileio.h │ ├── history.c │ └── history.h ├── gui │ ├── cheats.c │ ├── cheats.h │ ├── filesel.c │ ├── filesel.h │ ├── font.c │ ├── font.h │ ├── gui.c │ ├── gui.h │ ├── legal.c │ ├── menu.c │ ├── menu.h │ └── saveicon.h ├── gx_audio.c ├── gx_audio.h ├── gx_input.c ├── gx_input.h ├── gx_video.c ├── gx_video.h ├── images │ ├── Banner_bottom.png │ ├── Banner_main.png │ ├── Banner_top.png │ ├── Bg_credits.png │ ├── Bg_intro_c1.png │ ├── Bg_intro_c2.png │ ├── Bg_intro_c3.png │ ├── Bg_intro_c4.png │ ├── Bg_layer.png │ ├── Bg_overlay.png │ ├── Browser_dir.png │ ├── Button_arrow.png │ ├── Button_arrow_over.png │ ├── Button_delete.png │ ├── Button_delete_over.png │ ├── Button_digit.png │ ├── Button_digit_over.png │ ├── Button_down.png │ ├── Button_down_over.png │ ├── Button_icon.png │ ├── Button_icon_over.png │ ├── Button_icon_sm.png │ ├── Button_icon_sm_over.png │ ├── Button_load.png │ ├── Button_load_over.png │ ├── Button_save.png │ ├── Button_save_over.png │ ├── Button_sm_blue.png │ ├── Button_sm_grey.png │ ├── Button_sm_yellow.png │ ├── Button_special.png │ ├── Button_special_over.png │ ├── Button_text.png │ ├── Button_text_over.png │ ├── Button_up.png │ ├── Button_up_over.png │ ├── CD_access_off.png │ ├── CD_access_on.png │ ├── CD_ready_off.png │ ├── CD_ready_on.png │ ├── Cart_gg.png │ ├── Cart_md.png │ ├── Cart_ms.png │ ├── Cart_sg.png │ ├── Crosshair_p1.png │ ├── Crosshair_p2.png │ ├── Ctrl_4wayplay.png │ ├── Ctrl_activator.png │ ├── Ctrl_config.png │ ├── Ctrl_gamepad.png │ ├── Ctrl_graphic_board.png │ ├── Ctrl_justifiers.png │ ├── Ctrl_lightphaser.png │ ├── Ctrl_mastertap.png │ ├── Ctrl_menacer.png │ ├── Ctrl_mouse.png │ ├── Ctrl_none.png │ ├── Ctrl_pad2b.png │ ├── Ctrl_pad3b.png │ ├── Ctrl_pad6b.png │ ├── Ctrl_pad_auto.png │ ├── Ctrl_paddle.png │ ├── Ctrl_sportspad.png │ ├── Ctrl_teamplayer.png │ ├── Ctrl_xe_1ap.png │ ├── Frame_s1.png │ ├── Frame_s1_title.png │ ├── Frame_s2.png │ ├── Frame_s2_title.png │ ├── Frame_s3.png │ ├── Frame_throbber.png │ ├── Key_A_gcn.png │ ├── Key_A_wii.png │ ├── Key_B_gcn.png │ ├── Key_B_wii.png │ ├── Key_DPAD.png │ ├── Key_L_gcn.png │ ├── Key_Minus_wii.png │ ├── Key_Plus_wii.png │ ├── Key_R_gcn.png │ ├── Load_cd.png │ ├── Load_gg.png │ ├── Load_md.png │ ├── Load_ms.png │ ├── Load_recent.png │ ├── Load_sg.png │ ├── Main_cheats.png │ ├── Main_file.png │ ├── Main_load.png │ ├── Main_logo.png │ ├── Main_options.png │ ├── Main_play_gcn.png │ ├── Main_play_wii.png │ ├── Main_quit.png │ ├── Main_reset.png │ ├── Main_showinfo.png │ ├── Main_takeshot.png │ ├── Option_ctrl.png │ ├── Option_menu.png │ ├── Option_sound.png │ ├── Option_system.png │ ├── Option_video.png │ ├── Overlay_bar.png │ ├── Snap_empty.png │ ├── Star_empty.png │ ├── Star_full.png │ ├── ctrl_classic.png │ ├── ctrl_gamecube.png │ ├── ctrl_nunchuk.png │ ├── ctrl_option_off.png │ ├── ctrl_option_on.png │ ├── ctrl_wiimote.png │ ├── ctrl_wiiu.png │ └── generic_point.png ├── main.c ├── osd.h ├── sounds │ ├── button_over.pcm │ ├── button_select.pcm │ └── intro.pcm └── utils │ ├── oggplayer.c │ ├── oggplayer.h │ ├── vi_encoder.c │ ├── vi_encoder.h │ └── wiidrc │ ├── LICENSE │ ├── wiidrc.c │ ├── wiidrc.h │ └── wiidrc_structs.h ├── intl ├── .gitignore ├── core_option_regex.py ├── core_option_translation.py ├── crowdin.yaml ├── crowdin_prep.py ├── crowdin_source_upload.py ├── crowdin_translate.py ├── crowdin_translation_download.py ├── download_workflow.py ├── initial_sync.py ├── remove_initial_cycle.py └── upload_workflow.py ├── libretro ├── Makefile.common ├── debian │ ├── changelog │ ├── compat │ ├── control │ ├── copyright │ ├── dirs │ ├── rules │ └── source │ │ └── format ├── deps │ ├── libchdr │ │ ├── CMakeLists.txt │ │ ├── LICENSE.txt │ │ ├── README.md │ │ ├── include │ │ │ ├── dr_libs │ │ │ │ └── dr_flac.h │ │ │ └── libchdr │ │ │ │ ├── bitstream.h │ │ │ │ ├── cdrom.h │ │ │ │ ├── chd.h │ │ │ │ ├── chdconfig.h │ │ │ │ ├── coretypes.h │ │ │ │ ├── flac.h │ │ │ │ └── huffman.h │ │ └── src │ │ │ ├── libchdr_bitstream.c │ │ │ ├── libchdr_cdrom.c │ │ │ ├── libchdr_chd.c │ │ │ ├── libchdr_flac.c │ │ │ ├── libchdr_huffman.c │ │ │ └── link.T │ ├── lzma-19.00 │ │ ├── CMakeLists.txt │ │ ├── LICENSE │ │ ├── include │ │ │ ├── 7zTypes.h │ │ │ ├── Alloc.h │ │ │ ├── Bra.h │ │ │ ├── Compiler.h │ │ │ ├── CpuArch.h │ │ │ ├── Delta.h │ │ │ ├── LzFind.h │ │ │ ├── LzHash.h │ │ │ ├── Lzma86.h │ │ │ ├── LzmaDec.h │ │ │ ├── LzmaEnc.h │ │ │ ├── LzmaLib.h │ │ │ ├── Precomp.h │ │ │ └── Sort.h │ │ ├── lzma-history.txt │ │ ├── lzma.txt │ │ ├── lzma.vcxproj │ │ ├── lzma.vcxproj.filters │ │ └── src │ │ │ ├── Alloc.c │ │ │ ├── Bra86.c │ │ │ ├── BraIA64.c │ │ │ ├── CpuArch.c │ │ │ ├── Delta.c │ │ │ ├── LzFind.c │ │ │ ├── Lzma86Dec.c │ │ │ ├── Lzma86Enc.c │ │ │ ├── LzmaDec.c │ │ │ ├── LzmaEnc.c │ │ │ └── Sort.c │ └── zlib-1.2.11 │ │ ├── README │ │ ├── adler32.c │ │ ├── crc32.c │ │ ├── crc32.h │ │ ├── inffast.c │ │ ├── inffast.h │ │ ├── inflate.c │ │ ├── inflate.h │ │ ├── inftrees.c │ │ ├── inftrees.h │ │ ├── zconf.h │ │ ├── zlib.h │ │ ├── zutil.c │ │ └── zutil.h ├── jni │ ├── Android.mk │ └── Application.mk ├── libretro-common │ ├── cdrom │ │ └── cdrom.c │ ├── compat │ │ ├── compat_posix_string.c │ │ ├── compat_snprintf.c │ │ ├── compat_strcasestr.c │ │ ├── compat_strl.c │ │ └── fopen_utf8.c │ ├── encodings │ │ └── encoding_utf.c │ ├── file │ │ ├── file_path.c │ │ └── retro_dirent.c │ ├── include │ │ ├── boolean.h │ │ ├── cdrom │ │ │ └── cdrom.h │ │ ├── compat │ │ │ ├── apple_compat.h │ │ │ ├── fnmatch.h │ │ │ ├── fopen_utf8.h │ │ │ ├── getopt.h │ │ │ ├── ifaddrs.h │ │ │ ├── intrinsics.h │ │ │ ├── msvc.h │ │ │ ├── msvc │ │ │ │ └── stdint.h │ │ │ ├── posix_string.h │ │ │ ├── strcasestr.h │ │ │ ├── strl.h │ │ │ ├── zconf.h │ │ │ ├── zconf.h.in │ │ │ ├── zlib.h │ │ │ └── zutil.h │ │ ├── encodings │ │ │ └── utf.h │ │ ├── file │ │ │ └── file_path.h │ │ ├── libretro.h │ │ ├── lists │ │ │ ├── dir_list.h │ │ │ └── string_list.h │ │ ├── memalign.h │ │ ├── memmap.h │ │ ├── retro_assert.h │ │ ├── retro_common.h │ │ ├── retro_common_api.h │ │ ├── retro_dirent.h │ │ ├── retro_endianness.h │ │ ├── retro_environment.h │ │ ├── retro_inline.h │ │ ├── retro_math.h │ │ ├── retro_miscellaneous.h │ │ ├── retro_timers.h │ │ ├── streams │ │ │ ├── file_stream.h │ │ │ └── file_stream_transforms.h │ │ ├── string │ │ │ └── stdstring.h │ │ └── vfs │ │ │ ├── vfs.h │ │ │ ├── vfs_implementation.h │ │ │ └── vfs_implementation_cdrom.h │ ├── lists │ │ ├── dir_list.c │ │ └── string_list.c │ ├── memmap │ │ ├── memalign.c │ │ └── memmap.c │ ├── streams │ │ ├── file_stream.c │ │ └── file_stream_transforms.c │ ├── string │ │ └── stdstring.c │ └── vfs │ │ ├── vfs_implementation.c │ │ ├── vfs_implementation_cdrom.c │ │ └── vfs_implementation_uwp.cpp ├── libretro.c ├── libretro_core_options.h ├── libretro_core_options_intl.h ├── libretro_msvc │ ├── genesis_plus_gx_libretro.vcxproj │ ├── genesis_plus_gx_libretro.vcxproj.filters │ ├── genesis_plus_gx_libretro.vcxproj.user │ ├── libretro_msvc.sln │ ├── msvc-2017.sln │ └── msvc-2017 │ │ ├── msvc-2017.vcxproj │ │ └── msvc-2017.vcxproj.filters ├── link.T ├── msvc │ ├── gx_vstudio.vcxproj │ ├── gx_vstudio.vcxproj.filters │ ├── gx_vstudio.vcxproj.user │ ├── libretro.def │ ├── msvc-2017.sln │ └── msvc-2017 │ │ ├── msvc-2017.vcxproj │ │ └── msvc-2017.vcxproj.filters ├── osd.h ├── scrc32.h └── uwp │ └── uwp_async.h ├── psp2 ├── Makefile ├── config.c ├── config.h ├── db.json ├── emumain.c ├── emumain.h ├── error.c ├── error.h ├── fileio.c ├── fileio.h ├── main.c ├── main.h ├── menu.c ├── menu.h ├── osd.h ├── unzip.c └── unzip.h ├── sdl ├── CHANGELOG.txt ├── Makefile.sdl1 ├── Makefile.sdl2 ├── README.txt ├── config.c ├── config.h ├── error.c ├── error.h ├── fileio.c ├── fileio.h ├── gx_vstudio │ ├── deps │ │ ├── SDL2 │ │ │ └── .put_sdl2_devel_here │ │ └── zlib │ │ │ ├── x64 │ │ │ └── .put_lib_files_here │ │ │ └── x86 │ │ │ └── .put_lib_files_here │ ├── gx_vstudio.sln │ ├── gx_vstudio.vcxproj │ ├── gx_vstudio.vcxproj.filters │ └── gx_vstudio.vcxproj.user ├── icon.rc ├── md.ico ├── osd.h ├── readme-sdl.txt ├── sdl1 │ ├── main.c │ └── main.h ├── sdl2 │ ├── main.c │ └── main.h ├── unzip.c └── unzip.h └── wiki ├── Compatibility.md ├── Credits.md ├── Features.md ├── Frequently Asked Questions.md └── Getting Started.md /.gitignore: -------------------------------------------------------------------------------- 1 | .vs/ 2 | Debug/ 3 | Release/ 4 | 5 | psp2/*.o 6 | psp2/*.elf 7 | psp2/*.velf 8 | psp2/build_vita/* 9 | psp2/*.a 10 | sdl/gen_sdl 11 | sdl/gen_sdl2 12 | sdl/build_sdl 13 | sdl/build_sdl2 14 | 15 | /libretro/msvc/msvc-2017/msvc-2017.vcxproj.user 16 | genesis_plus_gx_libretro.* 17 | genesis_plus_gx_wide_libretro.* 18 | 19 | *.o 20 | *.a 21 | *.so 22 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: generic 2 | os: linux 3 | dist: trusty 4 | sudo: required 5 | addons: 6 | apt: 7 | packages: 8 | - g++-7 9 | sources: 10 | - ubuntu-toolchain-r-test 11 | env: 12 | global: 13 | - CORE=genesis_plus_gx 14 | - COMPILER_NAME=gcc CXX=g++-7 CC=gcc-7 15 | matrix: 16 | - PLATFORM=3ds 17 | - PLATFORM=linux_x64 18 | - PLATFORM=ngc 19 | - PLATFORM=wii 20 | - PLATFORM=wiiu 21 | before_script: 22 | - pwd 23 | - mkdir -p ~/bin 24 | - ln -s /usr/bin/gcc-7 ~/bin/gcc 25 | - ln -s /usr/bin/g++-7 ~/bin/g++ 26 | - ln -s /usr/bin/cpp-7 ~/bin/cpp 27 | - export PATH=~/bin:$PATH 28 | - ls -l ~/bin 29 | - echo $PATH 30 | - g++-7 --version 31 | - g++ --version 32 | script: 33 | - cd ~/ 34 | - git clone --depth=50 https://github.com/libretro/libretro-super 35 | - cd libretro-super/travis 36 | - ./build.sh 37 | -------------------------------------------------------------------------------- /HISTORY.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/HISTORY.txt -------------------------------------------------------------------------------- /appveyor.yml: -------------------------------------------------------------------------------- 1 | version: 0.1.{build} 2 | 3 | shallow_clone: true 4 | 5 | image: Visual Studio 2017 6 | 7 | environment: 8 | makefile_location: "." 9 | makefile_name: makefile.libretro 10 | target_name: genesis_plus_gx_wide 11 | 12 | configuration: 13 | - release 14 | 15 | platform: 16 | - windows_msvc2017_uwp_x64 17 | - windows_msvc2017_uwp_x86 18 | - windows_msvc2017_uwp_arm 19 | - windows_msvc2017_desktop_x64 20 | - windows_msvc2017_desktop_x86 21 | 22 | init: 23 | - set Path=C:\msys64\usr\bin;%Path% 24 | 25 | build_script: 26 | - cd %makefile_location% 27 | - make -f %makefile_name% platform=%platform% 28 | 29 | artifacts: 30 | - path: '**\%target_name%*.dll' 31 | - path: '**\%target_name%*.lib' 32 | - path: '**\%target_name%*.pdb' 33 | - path: '**\libretro.h' -------------------------------------------------------------------------------- /core/cart_hw/eeprom_i2c.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * Genesis Plus 3 | * I2C Serial EEPROM (24Cxx) boards 4 | * 5 | * Copyright (C) 2007-2016 Eke-Eke (Genesis Plus GX) 6 | * 7 | * Redistribution and use of this code or any derivative works are permitted 8 | * provided that the following conditions are met: 9 | * 10 | * - Redistributions may not be sold, nor may they be used in a commercial 11 | * product or activity. 12 | * 13 | * - Redistributions that are modified from the original source must include the 14 | * complete source code, including the source code for all components used by a 15 | * binary built from the modified sources. However, as a special exception, the 16 | * source code distributed need not include anything that is normally distributed 17 | * (in either source or binary form) with the major components (compiler, kernel, 18 | * and so on) of the operating system on which the executable runs, unless that 19 | * component itself accompanies the executable. 20 | * 21 | * - Redistributions must reproduce the above copyright notice, this list of 22 | * conditions and the following disclaimer in the documentation and/or other 23 | * materials provided with the distribution. 24 | * 25 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 26 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 27 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 28 | * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 29 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 30 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 31 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 32 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 33 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 34 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 35 | * POSSIBILITY OF SUCH DAMAGE. 36 | * 37 | ****************************************************************************************/ 38 | 39 | #ifndef _EEPROM_I2C_H_ 40 | #define _EEPROM_I2C_H_ 41 | 42 | /* Function prototypes */ 43 | extern void eeprom_i2c_init(void); 44 | 45 | #endif 46 | -------------------------------------------------------------------------------- /core/cart_hw/eeprom_spi.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * Genesis Plus 3 | * SPI Serial EEPROM (25XX512 only) support 4 | * 5 | * Copyright (C) 2012 Eke-Eke (Genesis Plus GX) 6 | * 7 | * Redistribution and use of this code or any derivative works are permitted 8 | * provided that the following conditions are met: 9 | * 10 | * - Redistributions may not be sold, nor may they be used in a commercial 11 | * product or activity. 12 | * 13 | * - Redistributions that are modified from the original source must include the 14 | * complete source code, including the source code for all components used by a 15 | * binary built from the modified sources. However, as a special exception, the 16 | * source code distributed need not include anything that is normally distributed 17 | * (in either source or binary form) with the major components (compiler, kernel, 18 | * and so on) of the operating system on which the executable runs, unless that 19 | * component itself accompanies the executable. 20 | * 21 | * - Redistributions must reproduce the above copyright notice, this list of 22 | * conditions and the following disclaimer in the documentation and/or other 23 | * materials provided with the distribution. 24 | * 25 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 26 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 27 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 28 | * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 29 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 30 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 31 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 32 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 33 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 34 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 35 | * POSSIBILITY OF SUCH DAMAGE. 36 | * 37 | ****************************************************************************************/ 38 | 39 | #ifndef _EEPROM_SPI_H_ 40 | #define _EEPROM_SPI_H_ 41 | 42 | /* Function prototypes */ 43 | extern void eeprom_spi_init(void); 44 | extern void eeprom_spi_write(unsigned char data); 45 | extern unsigned int eeprom_spi_read(unsigned int address); 46 | 47 | #endif 48 | -------------------------------------------------------------------------------- /core/cart_hw/sms_cart.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/core/cart_hw/sms_cart.c -------------------------------------------------------------------------------- /core/cart_hw/svp/ssp16.h: -------------------------------------------------------------------------------- 1 | /* 2 | basic, incomplete SSP160x (SSP1601?) interpreter 3 | with SVP memory controller emu 4 | 5 | (c) Copyright 2008, Grazvydas "notaz" Ignotas 6 | Free for non-commercial use. 7 | 8 | For commercial use, separate licencing terms must be obtained. 9 | 10 | Modified for Genesis Plus GX (Eke-Eke): added BIG ENDIAN support, fixed addr/code inversion 11 | */ 12 | 13 | #ifndef _SSP16_H_ 14 | #define _SSP16_H_ 15 | 16 | /* emulation event logging (from Picodrive) */ 17 | #ifdef LOG_SVP 18 | #define EL_SVP 0x00004000 /* SVP stuff */ 19 | #define EL_ANOMALY 0x80000000 /* some unexpected conditions (during emulation) */ 20 | #define elprintf(w,f,...) error("%d(%d): " f "\n",frame_count,v_counter,##__VA_ARGS__); 21 | #endif 22 | 23 | /* register names */ 24 | enum { 25 | SSP_GR0, SSP_X, SSP_Y, SSP_A, 26 | SSP_ST, SSP_STACK, SSP_PC, SSP_P, 27 | SSP_PM0, SSP_PM1, SSP_PM2, SSP_XST, 28 | SSP_PM4, SSP_gr13, SSP_PMC, SSP_AL 29 | }; 30 | 31 | typedef union 32 | { 33 | unsigned int v; 34 | struct { 35 | #ifdef LSB_FIRST 36 | unsigned short l; 37 | unsigned short h; 38 | #else 39 | unsigned short h; 40 | unsigned short l; 41 | #endif 42 | } byte; 43 | } ssp_reg_t; 44 | 45 | typedef struct 46 | { 47 | union { 48 | unsigned short RAM[256*2]; /* 2 internal RAM banks */ 49 | struct { 50 | unsigned short RAM0[256]; 51 | unsigned short RAM1[256]; 52 | } bank; 53 | } mem; 54 | ssp_reg_t gr[16]; /* general registers */ 55 | union { 56 | unsigned char r[8]; /* BANK pointers */ 57 | struct { 58 | unsigned char r0[4]; 59 | unsigned char r1[4]; 60 | } bank; 61 | } ptr; 62 | unsigned short stack[6]; 63 | unsigned int pmac[2][6]; /* read/write modes/addrs for PM0-PM5 */ 64 | #define SSP_PMC_HAVE_ADDR 0x0001 /* address written to PMAC, waiting for mode */ 65 | #define SSP_PMC_SET 0x0002 /* PMAC is set */ 66 | #define SSP_HANG 0x1000 /* 68000 hangs SVP */ 67 | #define SSP_WAIT_PM0 0x2000 /* bit1 in PM0 */ 68 | #define SSP_WAIT_30FE06 0x4000 /* ssp tight loops on 30FE08 to become non-zero */ 69 | #define SSP_WAIT_30FE08 0x8000 /* same for 30FE06 */ 70 | #define SSP_WAIT_MASK 0xf000 71 | unsigned int emu_status; 72 | unsigned int pad[30]; 73 | } ssp1601_t; 74 | 75 | 76 | void ssp1601_reset(ssp1601_t *ssp); 77 | void ssp1601_run(int cycles); 78 | 79 | #endif 80 | -------------------------------------------------------------------------------- /core/cart_hw/svp/svp.h: -------------------------------------------------------------------------------- 1 | /* 2 | basic, incomplete SSP160x (SSP1601?) interpreter 3 | with SVP memory controller emu 4 | 5 | (c) Copyright 2008, Grazvydas "notaz" Ignotas 6 | Free for non-commercial use. 7 | 8 | For commercial use, separate licencing terms must be obtained. 9 | 10 | Modified for Genesis Plus GX (Eke-Eke): added BIG ENDIAN support, fixed addr/code inversion 11 | */ 12 | 13 | #ifndef _SVP_H_ 14 | #define _SVP_H_ 15 | 16 | #include "shared.h" 17 | #include "ssp16.h" 18 | 19 | typedef struct { 20 | unsigned char iram_rom[0x20000]; /* IRAM (0-0x7ff) and program ROM (0x800-0x1ffff) */ 21 | unsigned char dram[0x20000]; 22 | ssp1601_t ssp1601; 23 | } svp_t; 24 | 25 | extern svp_t *svp; 26 | 27 | extern void svp_init(void); 28 | extern void svp_reset(void); 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /core/cd_hw/libchdr/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright Romain Tisserand 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are met: 6 | * Redistributions of source code must retain the above copyright 7 | notice, this list of conditions and the following disclaimer. 8 | * Redistributions in binary form must reproduce the above copyright 9 | notice, this list of conditions and the following disclaimer in the 10 | documentation and/or other materials provided with the distribution. 11 | * Neither the name of the nor the 12 | names of its contributors may be used to endorse or promote products 13 | derived from this software without specific prior written permission. 14 | 15 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 16 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18 | DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY 19 | DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 21 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 22 | ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 24 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 | -------------------------------------------------------------------------------- /core/cd_hw/libchdr/README.md: -------------------------------------------------------------------------------- 1 | # libchdr 2 | 3 | libchdr is a standalone library for reading MAME's CHDv1-v5 formats. 4 | 5 | The code is based off of MAME's old C codebase which read up to CHDv4 with OS-dependent features removed, and CHDv5 support backported from MAME's current C++ codebase. 6 | 7 | libchdr is licensed under the BSD 3-Clause (see [LICENSE.txt](LICENSE.txt)) and uses third party libraries that are each distributed under their own terms (see each library's license in [deps/](deps/)). 8 | -------------------------------------------------------------------------------- /core/cd_hw/libchdr/deps/libFLAC/AUTHORS: -------------------------------------------------------------------------------- 1 | /* FLAC - Free Lossless Audio Codec 2 | * Copyright (C) 2001-2009 Josh Coalson 3 | * Copyright (C) 2011-2016 Xiph.Org Foundation 4 | * 5 | * This file is part the FLAC project. FLAC is comprised of several 6 | * components distributed under different licenses. The codec libraries 7 | * are distributed under Xiph.Org's BSD-like license (see the file 8 | * COPYING.Xiph in this distribution). All other programs, libraries, and 9 | * plugins are distributed under the GPL (see COPYING.GPL). The documentation 10 | * is distributed under the Gnu FDL (see COPYING.FDL). Each file in the 11 | * FLAC distribution contains at the top the terms under which it may be 12 | * distributed. 13 | * 14 | * Since this particular file is relevant to all components of FLAC, 15 | * it may be distributed under the Xiph.Org license, which is the least 16 | * restrictive of those mentioned above. See the file COPYING.Xiph in this 17 | * distribution. 18 | */ 19 | 20 | Current FLAC maintainer: Erik de Castro Lopo 21 | 22 | Original author: Josh Coalson 23 | 24 | Website : https://www.xiph.org/flac/ 25 | 26 | FLAC is an Open Source lossless audio codec originally developed by Josh Coalson 27 | between 2001 and 2009. From 2009 to 2012 FLAC was basically unmaintained. In 28 | 2012 the Erik de Castro Lopo became the chief maintainer as part of the 29 | Xiph.Org Foundation. 30 | 31 | Other major contributors and their contributions: 32 | 33 | "lvqcl" 34 | * Visual Studio build system. 35 | * Optimisations in the encoder and decoder. 36 | 37 | "Janne Hyvärinen" 38 | * Visual Studio build system. 39 | * Unicode handling on Windows. 40 | 41 | "Andrey Astafiev" 42 | * Russian translation of the HTML documentation 43 | 44 | "Miroslav Lichvar" 45 | * IA-32 assembly versions of several libFLAC routines 46 | 47 | "Brady Patterson" 48 | * AIFF file support, PPC assembly versions of libFLAC routines 49 | 50 | "Daisuke Shimamura" 51 | * i18n support in the XMMS plugin 52 | 53 | "X-Fixer" 54 | * Configuration system, tag editing, and file info in the Winamp2 plugin 55 | 56 | "Matt Zimmerman" 57 | * Libtool/autoconf/automake make system, flac man page 58 | 59 | -------------------------------------------------------------------------------- /core/cd_hw/libchdr/deps/libFLAC/COPYING.Xiph: -------------------------------------------------------------------------------- 1 | Copyright (C) 2000-2009 Josh Coalson 2 | Copyright (C) 2011-2016 Xiph.Org Foundation 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions 6 | are met: 7 | 8 | - Redistributions of source code must retain the above copyright 9 | notice, this list of conditions and the following disclaimer. 10 | 11 | - Redistributions in binary form must reproduce the above copyright 12 | notice, this list of conditions and the following disclaimer in the 13 | documentation and/or other materials provided with the distribution. 14 | 15 | - Neither the name of the Xiph.org Foundation nor the names of its 16 | contributors may be used to endorse or promote products derived from 17 | this software without specific prior written permission. 18 | 19 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 20 | ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 21 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 22 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR 23 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 24 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 25 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 26 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 27 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 28 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 29 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | -------------------------------------------------------------------------------- /core/cd_hw/libchdr/deps/libFLAC/include/FLAC/assert.h: -------------------------------------------------------------------------------- 1 | /* libFLAC - Free Lossless Audio Codec library 2 | * Copyright (C) 2001-2009 Josh Coalson 3 | * Copyright (C) 2011-2016 Xiph.Org Foundation 4 | * 5 | * Redistribution and use in source and binary forms, with or without 6 | * modification, are permitted provided that the following conditions 7 | * are met: 8 | * 9 | * - Redistributions of source code must retain the above copyright 10 | * notice, this list of conditions and the following disclaimer. 11 | * 12 | * - Redistributions in binary form must reproduce the above copyright 13 | * notice, this list of conditions and the following disclaimer in the 14 | * documentation and/or other materials provided with the distribution. 15 | * 16 | * - Neither the name of the Xiph.org Foundation nor the names of its 17 | * contributors may be used to endorse or promote products derived from 18 | * this software without specific prior written permission. 19 | * 20 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 21 | * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 22 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 23 | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR 24 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 25 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 26 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 27 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 28 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 29 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 30 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31 | */ 32 | 33 | #ifndef FLAC__ASSERT_H 34 | #define FLAC__ASSERT_H 35 | 36 | /* we need this since some compilers (like MSVC) leave assert()s on release code (and we don't want to use their ASSERT) */ 37 | #ifdef DEBUG 38 | #include 39 | #define FLAC__ASSERT(x) assert(x) 40 | #define FLAC__ASSERT_DECLARATION(x) x 41 | #else 42 | #define FLAC__ASSERT(x) 43 | #define FLAC__ASSERT_DECLARATION(x) 44 | #endif 45 | 46 | #endif 47 | -------------------------------------------------------------------------------- /core/cd_hw/libchdr/deps/libFLAC/include/private/md5.h: -------------------------------------------------------------------------------- 1 | #ifndef FLAC__PRIVATE__MD5_H 2 | #define FLAC__PRIVATE__MD5_H 3 | 4 | /* 5 | * This is the header file for the MD5 message-digest algorithm. 6 | * The algorithm is due to Ron Rivest. This code was 7 | * written by Colin Plumb in 1993, no copyright is claimed. 8 | * This code is in the public domain; do with it what you wish. 9 | * 10 | * Equivalent code is available from RSA Data Security, Inc. 11 | * This code has been tested against that, and is equivalent, 12 | * except that you don't need to include two pages of legalese 13 | * with every copy. 14 | * 15 | * To compute the message digest of a chunk of bytes, declare an 16 | * MD5Context structure, pass it to MD5Init, call MD5Update as 17 | * needed on buffers full of bytes, and then call MD5Final, which 18 | * will fill a supplied 16-byte array with the digest. 19 | * 20 | * Changed so as no longer to depend on Colin Plumb's `usual.h' 21 | * header definitions; now uses stuff from dpkg's config.h 22 | * - Ian Jackson . 23 | * Still in the public domain. 24 | * 25 | * Josh Coalson: made some changes to integrate with libFLAC. 26 | * Still in the public domain, with no warranty. 27 | */ 28 | 29 | #include "FLAC/ordinals.h" 30 | 31 | typedef union { 32 | FLAC__byte *p8; 33 | FLAC__int16 *p16; 34 | FLAC__int32 *p32; 35 | } FLAC__multibyte; 36 | 37 | typedef struct { 38 | FLAC__uint32 in[16]; 39 | FLAC__uint32 buf[4]; 40 | FLAC__uint32 bytes[2]; 41 | FLAC__multibyte internal_buf; 42 | size_t capacity; 43 | } FLAC__MD5Context; 44 | 45 | void FLAC__MD5Init(FLAC__MD5Context *context); 46 | void FLAC__MD5Final(FLAC__byte digest[16], FLAC__MD5Context *context); 47 | 48 | FLAC__bool FLAC__MD5Accumulate(FLAC__MD5Context *ctx, const FLAC__int32 * const signal[], unsigned channels, unsigned samples, unsigned bytes_per_sample); 49 | 50 | #endif 51 | -------------------------------------------------------------------------------- /core/cd_hw/libchdr/deps/lzma/Compiler.h: -------------------------------------------------------------------------------- 1 | /* Compiler.h 2 | 2015-08-02 : Igor Pavlov : Public domain */ 3 | 4 | #ifndef __7Z_COMPILER_H 5 | #define __7Z_COMPILER_H 6 | 7 | #ifdef _MSC_VER 8 | 9 | #ifdef UNDER_CE 10 | #define RPC_NO_WINDOWS_H 11 | /* #pragma warning(disable : 4115) // '_RPC_ASYNC_STATE' : named type definition in parentheses */ 12 | #pragma warning(disable : 4201) // nonstandard extension used : nameless struct/union 13 | #pragma warning(disable : 4214) // nonstandard extension used : bit field types other than int 14 | #endif 15 | 16 | #if _MSC_VER >= 1300 17 | #pragma warning(disable : 4996) // This function or variable may be unsafe 18 | #else 19 | #pragma warning(disable : 4511) // copy constructor could not be generated 20 | #pragma warning(disable : 4512) // assignment operator could not be generated 21 | #pragma warning(disable : 4514) // unreferenced inline function has been removed 22 | #pragma warning(disable : 4702) // unreachable code 23 | #pragma warning(disable : 4710) // not inlined 24 | #pragma warning(disable : 4786) // identifier was truncated to '255' characters in the debug information 25 | #endif 26 | 27 | #endif 28 | 29 | #define UNUSED_VAR(x) (void)x; 30 | /* #define UNUSED_VAR(x) x=x; */ 31 | 32 | #endif 33 | -------------------------------------------------------------------------------- /core/cd_hw/libchdr/deps/lzma/DOC/lzma-history.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/core/cd_hw/libchdr/deps/lzma/DOC/lzma-history.txt -------------------------------------------------------------------------------- /core/cd_hw/libchdr/deps/lzma/LzHash.h: -------------------------------------------------------------------------------- 1 | /* LzHash.h -- HASH functions for LZ algorithms 2 | 2015-04-12 : Igor Pavlov : Public domain */ 3 | 4 | #ifndef __LZ_HASH_H 5 | #define __LZ_HASH_H 6 | 7 | #define kHash2Size (1 << 10) 8 | #define kHash3Size (1 << 16) 9 | #define kHash4Size (1 << 20) 10 | 11 | #define kFix3HashSize (kHash2Size) 12 | #define kFix4HashSize (kHash2Size + kHash3Size) 13 | #define kFix5HashSize (kHash2Size + kHash3Size + kHash4Size) 14 | 15 | #define HASH2_CALC hv = cur[0] | ((UInt32)cur[1] << 8); 16 | 17 | #define HASH3_CALC { \ 18 | UInt32 temp = p->crc[cur[0]] ^ cur[1]; \ 19 | h2 = temp & (kHash2Size - 1); \ 20 | hv = (temp ^ ((UInt32)cur[2] << 8)) & p->hashMask; } 21 | 22 | #define HASH4_CALC { \ 23 | UInt32 temp = p->crc[cur[0]] ^ cur[1]; \ 24 | h2 = temp & (kHash2Size - 1); \ 25 | temp ^= ((UInt32)cur[2] << 8); \ 26 | h3 = temp & (kHash3Size - 1); \ 27 | hv = (temp ^ (p->crc[cur[3]] << 5)) & p->hashMask; } 28 | 29 | #define HASH5_CALC { \ 30 | UInt32 temp = p->crc[cur[0]] ^ cur[1]; \ 31 | h2 = temp & (kHash2Size - 1); \ 32 | temp ^= ((UInt32)cur[2] << 8); \ 33 | h3 = temp & (kHash3Size - 1); \ 34 | temp ^= (p->crc[cur[3]] << 5); \ 35 | h4 = temp & (kHash4Size - 1); \ 36 | hv = (temp ^ (p->crc[cur[4]] << 3)) & p->hashMask; } 37 | 38 | /* #define HASH_ZIP_CALC hv = ((cur[0] | ((UInt32)cur[1] << 8)) ^ p->crc[cur[2]]) & 0xFFFF; */ 39 | #define HASH_ZIP_CALC hv = ((cur[2] | ((UInt32)cur[0] << 8)) ^ p->crc[cur[1]]) & 0xFFFF; 40 | 41 | 42 | #define MT_HASH2_CALC \ 43 | h2 = (p->crc[cur[0]] ^ cur[1]) & (kHash2Size - 1); 44 | 45 | #define MT_HASH3_CALC { \ 46 | UInt32 temp = p->crc[cur[0]] ^ cur[1]; \ 47 | h2 = temp & (kHash2Size - 1); \ 48 | h3 = (temp ^ ((UInt32)cur[2] << 8)) & (kHash3Size - 1); } 49 | 50 | #define MT_HASH4_CALC { \ 51 | UInt32 temp = p->crc[cur[0]] ^ cur[1]; \ 52 | h2 = temp & (kHash2Size - 1); \ 53 | temp ^= ((UInt32)cur[2] << 8); \ 54 | h3 = temp & (kHash3Size - 1); \ 55 | h4 = (temp ^ (p->crc[cur[3]] << 5)) & (kHash4Size - 1); } 56 | 57 | #endif 58 | -------------------------------------------------------------------------------- /core/cd_hw/libchdr/deps/lzma/Precomp.h: -------------------------------------------------------------------------------- 1 | /* Precomp.h -- StdAfx 2 | 2013-11-12 : Igor Pavlov : Public domain */ 3 | 4 | #ifndef __7Z_PRECOMP_H 5 | #define __7Z_PRECOMP_H 6 | 7 | #include "Compiler.h" 8 | /* #include "7zTypes.h" */ 9 | 10 | #endif 11 | -------------------------------------------------------------------------------- /core/cd_hw/libchdr/deps/zlib/inffast.h: -------------------------------------------------------------------------------- 1 | /* inffast.h -- header to use inffast.c 2 | * Copyright (C) 1995-2003, 2010 Mark Adler 3 | * For conditions of distribution and use, see copyright notice in zlib.h 4 | */ 5 | 6 | /* WARNING: this file should *not* be used by applications. It is 7 | part of the implementation of the compression library and is 8 | subject to change. Applications should only use zlib.h. 9 | */ 10 | 11 | void ZLIB_INTERNAL inflate_fast OF((z_streamp strm, unsigned start)); 12 | -------------------------------------------------------------------------------- /core/cd_hw/libchdr/src/bitstream.h: -------------------------------------------------------------------------------- 1 | /* license:BSD-3-Clause 2 | * copyright-holders:Aaron Giles 3 | *************************************************************************** 4 | 5 | bitstream.h 6 | 7 | Helper classes for reading/writing at the bit level. 8 | 9 | ***************************************************************************/ 10 | 11 | #pragma once 12 | 13 | #ifndef __BITSTREAM_H__ 14 | #define __BITSTREAM_H__ 15 | 16 | #include 17 | 18 | /*************************************************************************** 19 | * TYPE DEFINITIONS 20 | *************************************************************************** 21 | */ 22 | 23 | /* helper class for reading from a bit buffer */ 24 | struct bitstream 25 | { 26 | uint32_t buffer; /* current bit accumulator */ 27 | int bits; /* number of bits in the accumulator */ 28 | const uint8_t * read; /* read pointer */ 29 | uint32_t doffset; /* byte offset within the data */ 30 | uint32_t dlength; /* length of the data */ 31 | }; 32 | 33 | struct bitstream* create_bitstream(const void *src, uint32_t srclength); 34 | int bitstream_overflow(struct bitstream* bitstream); 35 | uint32_t bitstream_read_offset(struct bitstream* bitstream); 36 | 37 | uint32_t bitstream_read(struct bitstream* bitstream, int numbits); 38 | uint32_t bitstream_peek(struct bitstream* bitstream, int numbits); 39 | void bitstream_remove(struct bitstream* bitstream, int numbits); 40 | uint32_t bitstream_flush(struct bitstream* bitstream); 41 | 42 | 43 | #endif 44 | -------------------------------------------------------------------------------- /core/cd_hw/libchdr/src/coretypes.h: -------------------------------------------------------------------------------- 1 | #ifndef __CORETYPES_H__ 2 | #define __CORETYPES_H__ 3 | 4 | #include 5 | #include 6 | 7 | #define ARRAY_LENGTH(x) (sizeof(x)/sizeof(x[0])) 8 | 9 | typedef uint64_t UINT64; 10 | #ifndef OSD_CPU_H 11 | typedef uint32_t UINT32; 12 | typedef uint16_t UINT16; 13 | typedef uint8_t UINT8; 14 | #endif 15 | 16 | typedef int64_t INT64; 17 | #ifndef OSD_CPU_H 18 | typedef int32_t INT32; 19 | typedef int16_t INT16; 20 | typedef int8_t INT8; 21 | #endif 22 | 23 | #define core_file cdStream 24 | #define core_fopen cdStreamOpen 25 | #define core_fseek cdStreamSeek 26 | #define core_fread(fc, buff, len) cdStreamRead(buff, 1, len, fc) 27 | #define core_fclose cdStreamClose 28 | #define core_ftell cdStreamTell 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /core/cd_hw/libchdr/src/flac.h: -------------------------------------------------------------------------------- 1 | /* license:BSD-3-Clause 2 | * copyright-holders:Aaron Giles 3 | *************************************************************************** 4 | 5 | flac.h 6 | 7 | FLAC compression wrappers 8 | 9 | ***************************************************************************/ 10 | 11 | #pragma once 12 | 13 | #ifndef __FLAC_H__ 14 | #define __FLAC_H__ 15 | 16 | #include 17 | 18 | /*************************************************************************** 19 | * TYPE DEFINITIONS 20 | *************************************************************************** 21 | */ 22 | 23 | typedef struct _flac_decoder flac_decoder; 24 | struct _flac_decoder { 25 | /* output state */ 26 | void * decoder; /* actual encoder */ 27 | uint32_t sample_rate; /* decoded sample rate */ 28 | uint8_t channels; /* decoded number of channels */ 29 | uint8_t bits_per_sample; /* decoded bits per sample */ 30 | uint32_t compressed_offset; /* current offset in compressed data */ 31 | const uint8_t * compressed_start; /* start of compressed data */ 32 | uint32_t compressed_length; /* length of compressed data */ 33 | const uint8_t * compressed2_start; /* start of compressed data */ 34 | uint32_t compressed2_length; /* length of compressed data */ 35 | int16_t * uncompressed_start[8]; /* pointer to start of uncompressed data (up to 8 streams) */ 36 | uint32_t uncompressed_offset; /* current position in uncompressed data */ 37 | uint32_t uncompressed_length; /* length of uncompressed data */ 38 | int uncompressed_swap; /* swap uncompressed sample data */ 39 | uint8_t custom_header[0x2a]; /* custom header */ 40 | }; 41 | 42 | /* ======================> flac_decoder */ 43 | 44 | int flac_decoder_init(flac_decoder* decoder); 45 | void flac_decoder_free(flac_decoder* decoder); 46 | int flac_decoder_reset(flac_decoder* decoder, uint32_t sample_rate, uint8_t num_channels, uint32_t block_size, const void *buffer, uint32_t length); 47 | int flac_decoder_decode_interleaved(flac_decoder* decoder, int16_t *samples, uint32_t num_samples, int swap_endian); 48 | uint32_t flac_decoder_finish(flac_decoder* decoder); 49 | 50 | #endif /* __FLAC_H__ */ 51 | -------------------------------------------------------------------------------- /core/input_hw/graphic_board.h: -------------------------------------------------------------------------------- 1 | /*************************************************************************************** 2 | * Genesis Plus 3 | * Sega Graphic board support 4 | * 5 | * Copyright (C) 2017 Eke-Eke (Genesis Plus GX) 6 | * 7 | * Redistribution and use of this code or any derivative works are permitted 8 | * provided that the following conditions are met: 9 | * 10 | * - Redistributions may not be sold, nor may they be used in a commercial 11 | * product or activity. 12 | * 13 | * - Redistributions that are modified from the original source must include the 14 | * complete source code, including the source code for all components used by a 15 | * binary built from the modified sources. However, as a special exception, the 16 | * source code distributed need not include anything that is normally distributed 17 | * (in either source or binary form) with the major components (compiler, kernel, 18 | * and so on) of the operating system on which the executable runs, unless that 19 | * component itself accompanies the executable. 20 | * 21 | * - Redistributions must reproduce the above copyright notice, this list of 22 | * conditions and the following disclaimer in the documentation and/or other 23 | * materials provided with the distribution. 24 | * 25 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 26 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 27 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 28 | * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 29 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 30 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 31 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 32 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 33 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 34 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 35 | * POSSIBILITY OF SUCH DAMAGE. 36 | * 37 | ****************************************************************************************/ 38 | 39 | #ifndef _GRAPHIC_H_ 40 | #define _GRAPHIC_H_ 41 | 42 | /* Function prototypes */ 43 | extern void graphic_board_reset(int port); 44 | extern unsigned char graphic_board_read(void); 45 | extern void graphic_board_write(unsigned char data, unsigned char mask); 46 | 47 | #endif 48 | -------------------------------------------------------------------------------- /core/ntsc/md_ntsc_config.h: -------------------------------------------------------------------------------- 1 | /* Configure library by modifying this file */ 2 | 3 | #ifndef MD_NTSC_CONFIG_H 4 | #define MD_NTSC_CONFIG_H 5 | 6 | /* Format of source & output pixels (RGB555 or RGB565 only)*/ 7 | #ifdef USE_15BPP_RENDERING 8 | #define MD_NTSC_IN_FORMAT MD_NTSC_RGB15 9 | #define MD_NTSC_OUT_DEPTH 15 10 | #else 11 | #define MD_NTSC_IN_FORMAT MD_NTSC_RGB16 12 | #define MD_NTSC_OUT_DEPTH 16 13 | #endif 14 | 15 | /* Original CRAM format (not used) */ 16 | /* #define MD_NTSC_IN_FORMAT MD_NTSC_BGR9 */ 17 | 18 | /* The following affect the built-in blitter only; a custom blitter can 19 | handle things however it wants. */ 20 | 21 | /* Type of input pixel values (fixed to 16-bit) */ 22 | #define MD_NTSC_IN_T unsigned short 23 | 24 | /* Each raw pixel input value is passed through this. You might want to mask 25 | the pixel index if you use the high bits as flags, etc. */ 26 | #define MD_NTSC_ADJ_IN( in ) in 27 | 28 | /* For each pixel, this is the basic operation: 29 | output_color = MD_NTSC_ADJ_IN( MD_NTSC_IN_T ) */ 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /core/ntsc/sms_ntsc_config.h: -------------------------------------------------------------------------------- 1 | /* Configure library by modifying this file */ 2 | 3 | #ifndef SMS_NTSC_CONFIG_H 4 | #define SMS_NTSC_CONFIG_H 5 | 6 | /* Format of source & output pixels (RGB555 or RGB565 only) */ 7 | #ifdef USE_15BPP_RENDERING 8 | #define SMS_NTSC_IN_FORMAT SMS_NTSC_RGB15 9 | #define SMS_NTSC_OUT_DEPTH 15 10 | #else 11 | #define SMS_NTSC_IN_FORMAT SMS_NTSC_RGB16 12 | #define SMS_NTSC_OUT_DEPTH 16 13 | #endif 14 | 15 | /* Original CRAM format (not used) */ 16 | /* #define SMS_NTSC_IN_FORMAT SMS_NTSC_BGR12 */ 17 | 18 | /* The following affect the built-in blitter only; a custom blitter can 19 | handle things however it wants. */ 20 | 21 | /* Type of input pixel values (fixed to 16-bit)*/ 22 | #define SMS_NTSC_IN_T unsigned short 23 | 24 | /* Each raw pixel input value is passed through this. You might want to mask 25 | the pixel index if you use the high bits as flags, etc. */ 26 | #define SMS_NTSC_ADJ_IN( in ) in 27 | 28 | /* For each pixel, this is the basic operation: 29 | output_color = SMS_NTSC_ADJ_IN( SMS_NTSC_IN_T ) */ 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /core/shared.h: -------------------------------------------------------------------------------- 1 | #ifndef _SHARED_H_ 2 | #define _SHARED_H_ 3 | 4 | #include 5 | #include 6 | #include 7 | #include 8 | 9 | #include "types.h" 10 | #include "osd.h" 11 | #include "macros.h" 12 | #include "loadrom.h" 13 | #include "m68k.h" 14 | #include "z80.h" 15 | #include "system.h" 16 | #include "genesis.h" 17 | #include "vdp_ctrl.h" 18 | #include "vdp_render.h" 19 | #include "mem68k.h" 20 | #include "memz80.h" 21 | #include "membnk.h" 22 | #include "io_ctrl.h" 23 | #include "input.h" 24 | #include "sound.h" 25 | #include "psg.h" 26 | #include "ym2413.h" 27 | #include "ym2612.h" 28 | #ifdef HAVE_YM3438_CORE 29 | #include "ym3438.h" 30 | #endif 31 | #ifdef HAVE_OPLL_CORE 32 | #include "opll.h" 33 | #endif 34 | #include "sram.h" 35 | #include "ggenie.h" 36 | #include "areplay.h" 37 | #include "svp.h" 38 | #include "state.h" 39 | 40 | #endif /* _SHARED_H_ */ 41 | 42 | -------------------------------------------------------------------------------- /core/sound/eq.h: -------------------------------------------------------------------------------- 1 | /*--------------------------------------------------------------------------- 2 | // 3 | // 3 Band EQ :) 4 | // 5 | // EQ.H - Header file for 3 band EQ 6 | // 7 | // (c) Neil C / Etanza Systems / 2K6 8 | // 9 | // Shouts / Loves / Moans = etanza at lycos dot co dot uk 10 | // 11 | // This work is hereby placed in the public domain for all purposes, including 12 | // use in commercial applications. 13 | // 14 | // The author assumes NO RESPONSIBILITY for any problems caused by the use of 15 | // this software. 16 | // 17 | //----------------------------------------------------------------------------*/ 18 | 19 | #ifndef __EQ3BAND__ 20 | #define __EQ3BAND__ 21 | 22 | /* ------------ 23 | //| Structures | 24 | // ------------*/ 25 | 26 | typedef struct { 27 | /* Filter #1 (Low band) */ 28 | 29 | double lf; /* Frequency */ 30 | double f1p0; /* Poles ... */ 31 | double f1p1; 32 | double f1p2; 33 | double f1p3; 34 | 35 | /* Filter #2 (High band) */ 36 | 37 | double hf; /* Frequency */ 38 | double f2p0; /* Poles ... */ 39 | double f2p1; 40 | double f2p2; 41 | double f2p3; 42 | 43 | /* Sample history buffer */ 44 | 45 | double sdm1; /* Sample data minus 1 */ 46 | double sdm2; /* 2 */ 47 | double sdm3; /* 3 */ 48 | 49 | /* Gain Controls */ 50 | 51 | double lg; /* low gain */ 52 | double mg; /* mid gain */ 53 | double hg; /* high gain */ 54 | 55 | } EQSTATE; 56 | 57 | 58 | /* --------- 59 | //| Exports | 60 | // ---------*/ 61 | 62 | extern void init_3band_state(EQSTATE * es, int lowfreq, int highfreq, 63 | int mixfreq); 64 | extern double do_3band(EQSTATE * es, int sample); 65 | 66 | 67 | #endif /* #ifndef __EQ3BAND__ */ 68 | -------------------------------------------------------------------------------- /core/sound/ym2413.h: -------------------------------------------------------------------------------- 1 | /* 2 | ** 3 | ** File: ym2413.c - software implementation of YM2413 4 | ** FM sound generator type OPLL 5 | ** 6 | ** Copyright (C) 2002 Jarek Burczynski 7 | ** 8 | ** Version 1.0 9 | ** 10 | */ 11 | 12 | #ifndef _H_YM2413_ 13 | #define _H_YM2413_ 14 | 15 | extern void YM2413Init(void); 16 | extern void YM2413ResetChip(void); 17 | extern void YM2413Update(int *buffer, int length); 18 | extern void YM2413Write(unsigned int a, unsigned int v); 19 | extern unsigned int YM2413Read(void); 20 | extern unsigned char *YM2413GetContextPtr(void); 21 | extern unsigned int YM2413GetContextSize(void); 22 | 23 | #endif /*_H_YM2413_*/ 24 | -------------------------------------------------------------------------------- /core/sound/ym2612.h: -------------------------------------------------------------------------------- 1 | /* 2 | ** 3 | ** software implementation of Yamaha FM sound generator (YM2612/YM3438) 4 | ** 5 | ** Original code (MAME fm.c) 6 | ** 7 | ** Copyright (C) 2001, 2002, 2003 Jarek Burczynski (bujar at mame dot net) 8 | ** Copyright (C) 1998 Tatsuyuki Satoh , MultiArcadeMachineEmulator development 9 | ** 10 | ** Version 1.4 (final beta) 11 | ** 12 | ** Additional code & fixes by Eke-Eke for Genesis Plus GX 13 | ** 14 | */ 15 | 16 | #ifndef _H_YM2612_ 17 | #define _H_YM2612_ 18 | 19 | enum { 20 | YM2612_DISCRETE = 0, 21 | YM2612_INTEGRATED, 22 | YM2612_ENHANCED 23 | }; 24 | 25 | extern void YM2612Init(void); 26 | extern void YM2612Config(int type); 27 | extern void YM2612ResetChip(void); 28 | extern void YM2612Update(int *buffer, int length); 29 | extern void YM2612Write(unsigned int a, unsigned int v); 30 | extern unsigned int YM2612Read(void); 31 | extern int YM2612LoadContext(unsigned char *state); 32 | extern int YM2612SaveContext(unsigned char *state); 33 | 34 | #endif /* _YM2612_ */ 35 | -------------------------------------------------------------------------------- /core/tremor/CHANGELOG: -------------------------------------------------------------------------------- 1 | *** 20020517: 1.0.2 *** 2 | 3 | Playback bugfix to floor1; mode mistakenly used for sizing instead 4 | of blockflag 5 | 6 | *** 20020515: 1.0.1 *** 7 | 8 | Added complete API documentation to source tarball. No code 9 | changes. 10 | 11 | *** 20020412: 1.0.1 *** 12 | 13 | Fixed a clipping bug that affected ARM processors; negative 14 | overflows were being properly clipped, but then clobbered to 15 | positive by the positive overflow chec (asm_arm.h:CLIP_TO_15) 16 | 17 | *** 20020403: 1.0.0 *** 18 | 19 | Initial version -------------------------------------------------------------------------------- /core/tremor/COPYING: -------------------------------------------------------------------------------- 1 | Copyright (c) 2002, Xiph.org Foundation 2 | 3 | Redistribution and use in source and binary forms, with or without 4 | modification, are permitted provided that the following conditions 5 | are met: 6 | 7 | - Redistributions of source code must retain the above copyright 8 | notice, this list of conditions and the following disclaimer. 9 | 10 | - Redistributions in binary form must reproduce the above copyright 11 | notice, this list of conditions and the following disclaimer in the 12 | documentation and/or other materials provided with the distribution. 13 | 14 | - Neither the name of the Xiph.org Foundation nor the names of its 15 | contributors may be used to endorse or promote products derived from 16 | this software without specific prior written permission. 17 | 18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 21 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION 22 | OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 23 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 24 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 25 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | -------------------------------------------------------------------------------- /core/tremor/README: -------------------------------------------------------------------------------- 1 | This README covers the Ogg Vorbis 'Tremor' integer playback codec 2 | source as of date 2002 09 02, version 1.0.0. 3 | 4 | ****** 5 | 6 | The C source in this package will build on any ANSI C compiler and 7 | function completely and properly on any platform. The included build 8 | system assumes GNU build system and make tools (m4, automake, 9 | autoconf, libtool and gmake). GCC is not required, although GCC is 10 | the most tested compiler. To build using GNU tools, type in the 11 | source directory: 12 | 13 | ./autogen.sh 14 | make 15 | 16 | Currently, the source implements playback in pure C on all platforms 17 | except ARM, where a [currently] small amount of assembly (see 18 | asm_arm.h) is used to implement 64 bit math operations and fast LSP 19 | computation. If building on ARM without the benefit of GNU build 20 | system tools, be sure that '_ARM_ASSEM_' is #defined by the build 21 | system if this assembly is desired, else the resulting library will 22 | use whatever 64 bit math builtins the compiler implements. 23 | 24 | No math library is required by this source. No floating point 25 | operations are used at any point in either setup or decode. This 26 | decoder library will properly decode any past, current or future 27 | Vorbis I file or stream. 28 | 29 | ******** 30 | 31 | The build system produces a static and [when supported by the OS] 32 | dynamic library named 'libvorbisidec'. This library exposes an API 33 | nearly identical to the BSD reference library's 'libvorbisfile', 34 | including all the features familiar to users of vorbisfile. This API 35 | is similar enough that the proper header file to include is named 36 | 'ivorbisfile.h' [included in the source build directory]. Lower level 37 | libvorbis-style headers and structures are in 'ivorbiscodec.h' 38 | [included in the source build directory]. A simple example program, 39 | ivorbisfile_example.c, can be built with 'make example'. 40 | 41 | ******** 42 | 43 | Detailed Tremor API Documentation begins at doc/index.html 44 | 45 | Monty 46 | xiph.org 47 | -------------------------------------------------------------------------------- /core/tremor/Version_script.in: -------------------------------------------------------------------------------- 1 | # 2 | # Export file for libvorbisidec 3 | # 4 | # Only the symbols listed in the global section will be callable from 5 | # applications linking to libvorbisidec. 6 | # 7 | 8 | @PACKAGE@.so.1 9 | { 10 | global: 11 | ov_clear; 12 | ov_open; 13 | ov_open_callbacks; 14 | ov_test; 15 | ov_test_callbacks; 16 | ov_test_open; 17 | ov_bitrate; 18 | ov_bitrate_instant; 19 | ov_streams; 20 | ov_seekable; 21 | ov_serialnumber; 22 | ov_raw_total; 23 | ov_pcm_total; 24 | ov_time_total; 25 | ov_raw_seek; 26 | ov_pcm_seek; 27 | ov_pcm_seek_page; 28 | ov_time_seek; 29 | ov_time_seek_page; 30 | ov_raw_tell; 31 | ov_pcm_tell; 32 | ov_time_tell; 33 | ov_info; 34 | ov_comment; 35 | ov_read; 36 | 37 | vorbis_info_init; 38 | vorbis_info_clear; 39 | vorbis_info_blocksize; 40 | vorbis_comment_init; 41 | vorbis_comment_add; 42 | vorbis_comment_add_tag; 43 | vorbis_comment_query; 44 | vorbis_comment_query_count; 45 | vorbis_comment_clear; 46 | 47 | local: 48 | *; 49 | }; 50 | -------------------------------------------------------------------------------- /core/tremor/block.h: -------------------------------------------------------------------------------- 1 | /******************************************************************** 2 | * * 3 | * THIS FILE IS PART OF THE OggVorbis 'TREMOR' CODEC SOURCE CODE. * 4 | * * 5 | * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * 6 | * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * 7 | * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * 8 | * * 9 | * THE OggVorbis 'TREMOR' SOURCE CODE IS (C) COPYRIGHT 1994-2008 * 10 | * BY THE Xiph.Org FOUNDATION http://www.xiph.org/ * 11 | * * 12 | ******************************************************************** 13 | 14 | function: shared block functions 15 | 16 | ********************************************************************/ 17 | 18 | #ifndef _V_BLOCK_ 19 | #define _V_BLOCK_ 20 | 21 | extern void _vorbis_block_ripcord(vorbis_block *vb); 22 | extern void *_vorbis_block_alloc(vorbis_block *vb,long bytes); 23 | 24 | #endif 25 | -------------------------------------------------------------------------------- /core/tremor/config_types.h: -------------------------------------------------------------------------------- 1 | /******************************************************************** 2 | * * 3 | * THIS FILE IS PART OF THE OggVorbis 'TREMOR' CODEC SOURCE CODE. * 4 | * * 5 | * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * 6 | * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * 7 | * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * 8 | * * 9 | * THE OggVorbis 'TREMOR' SOURCE CODE IS (C) COPYRIGHT 1994-2002 * 10 | * BY THE Xiph.Org FOUNDATION http://www.xiph.org/ * 11 | * * 12 | ******************************************************************** 13 | 14 | function: #ifdef jail to whip a few platforms into the UNIX ideal. 15 | 16 | ********************************************************************/ 17 | #ifndef _OS_CVTYPES_H 18 | #define _OS_CVTYPES_H 19 | 20 | typedef long long ogg_int64_t; 21 | typedef int ogg_int32_t; 22 | typedef unsigned int ogg_uint32_t; 23 | typedef short ogg_int16_t; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /core/tremor/mdct.h: -------------------------------------------------------------------------------- 1 | /******************************************************************** 2 | * * 3 | * THIS FILE IS PART OF THE OggVorbis 'TREMOR' CODEC SOURCE CODE. * 4 | * * 5 | * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * 6 | * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * 7 | * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * 8 | * * 9 | * THE OggVorbis 'TREMOR' SOURCE CODE IS (C) COPYRIGHT 1994-2002 * 10 | * BY THE Xiph.Org FOUNDATION http://www.xiph.org/ * 11 | * * 12 | ******************************************************************** 13 | 14 | function: modified discrete cosine transform prototypes 15 | 16 | ********************************************************************/ 17 | 18 | #ifndef _OGG_mdct_H_ 19 | #define _OGG_mdct_H_ 20 | 21 | #include "ivorbiscodec.h" 22 | #include "misc.h" 23 | 24 | #define DATA_TYPE ogg_int32_t 25 | #define REG_TYPE register ogg_int32_t 26 | 27 | #ifdef _LOW_ACCURACY_ 28 | #define cPI3_8 (0x0062) 29 | #define cPI2_8 (0x00b5) 30 | #define cPI1_8 (0x00ed) 31 | #else 32 | #define cPI3_8 (0x30fbc54d) 33 | #define cPI2_8 (0x5a82799a) 34 | #define cPI1_8 (0x7641af3d) 35 | #endif 36 | 37 | extern void mdct_forward(int n, DATA_TYPE *in, DATA_TYPE *out); 38 | extern void mdct_backward(int n, DATA_TYPE *in, DATA_TYPE *out); 39 | 40 | #endif 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /core/tremor/os.h: -------------------------------------------------------------------------------- 1 | #ifndef _OS_H 2 | #define _OS_H 3 | /******************************************************************** 4 | * * 5 | * THIS FILE IS PART OF THE OggVorbis 'TREMOR' CODEC SOURCE CODE. * 6 | * * 7 | * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * 8 | * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * 9 | * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * 10 | * * 11 | * THE OggVorbis 'TREMOR' SOURCE CODE IS (C) COPYRIGHT 1994-2002 * 12 | * BY THE Xiph.Org FOUNDATION http://www.xiph.org/ * 13 | * * 14 | ******************************************************************** 15 | 16 | function: #ifdef jail to whip a few platforms into the UNIX ideal. 17 | 18 | ********************************************************************/ 19 | 20 | #include 21 | #include "os_types.h" 22 | 23 | #ifndef _V_IFDEFJAIL_H_ 24 | # define _V_IFDEFJAIL_H_ 25 | 26 | # ifdef __GNUC__ 27 | # define STIN static __inline__ 28 | # elif _WIN32 29 | # define STIN static __inline 30 | # endif 31 | #else 32 | # define STIN static 33 | #endif 34 | 35 | #ifndef M_PI 36 | # define M_PI (3.1415926536f) 37 | #endif 38 | 39 | #ifdef _WIN32 40 | # include 41 | # define rint(x) (floor((x)+0.5f)) 42 | # define NO_FLOAT_MATH_LIB 43 | # define FAST_HYPOT(a, b) sqrt((a)*(a) + (b)*(b)) 44 | #ifndef _XBOX360 45 | # define LITTLE_ENDIAN 1 46 | # define BYTE_ORDER LITTLE_ENDIAN 47 | #endif 48 | #endif 49 | 50 | #ifdef HAVE_ALLOCA_H 51 | # include 52 | #endif 53 | 54 | #ifdef USE_MEMORY_H 55 | # include 56 | #endif 57 | 58 | #ifndef min 59 | # define min(x,y) ((x)>(y)?(y):(x)) 60 | #endif 61 | 62 | #ifndef max 63 | # define max(x,y) ((x)<(y)?(y):(x)) 64 | #endif 65 | 66 | #endif /* _OS_H */ 67 | -------------------------------------------------------------------------------- /core/tremor/os_types.h: -------------------------------------------------------------------------------- 1 | /******************************************************************** 2 | * * 3 | * THIS FILE IS PART OF THE OggVorbis 'TREMOR' CODEC SOURCE CODE. * 4 | * * 5 | * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * 6 | * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * 7 | * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * 8 | * * 9 | * THE OggVorbis 'TREMOR' SOURCE CODE IS (C) COPYRIGHT 1994-2002 * 10 | * BY THE Xiph.Org FOUNDATION http://www.xiph.org/ * 11 | * * 12 | ******************************************************************** 13 | 14 | function: #ifdef jail to whip a few platforms into the UNIX ideal. 15 | 16 | ********************************************************************/ 17 | #ifndef _OS_TYPES_H 18 | #define _OS_TYPES_H 19 | 20 | #ifdef _LOW_ACCURACY_ 21 | # define X(n) (((((n)>>22)+1)>>1) - ((((n)>>22)+1)>>9)) 22 | # define LOOKUP_T const unsigned char 23 | #else 24 | # define X(n) (n) 25 | # define LOOKUP_T const ogg_int32_t 26 | #endif 27 | 28 | /* make it easy on the folks that want to compile the libs with a 29 | different malloc than stdlib */ 30 | #define _ogg_malloc malloc 31 | #define _ogg_calloc calloc 32 | #define _ogg_realloc realloc 33 | #define _ogg_free free 34 | 35 | #if defined(_WIN32) && defined(__LIBRETRO__) 36 | #include 37 | #else 38 | #include 39 | #endif 40 | 41 | typedef int64_t ogg_int64_t; 42 | typedef int32_t ogg_int32_t; 43 | typedef uint32_t ogg_uint32_t; 44 | typedef int16_t ogg_int16_t; 45 | 46 | #endif /* _OS_TYPES_H */ 47 | -------------------------------------------------------------------------------- /core/tremor/registry.c: -------------------------------------------------------------------------------- 1 | /******************************************************************** 2 | * * 3 | * THIS FILE IS PART OF THE OggVorbis 'TREMOR' CODEC SOURCE CODE. * 4 | * * 5 | * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * 6 | * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * 7 | * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * 8 | * * 9 | * THE OggVorbis 'TREMOR' SOURCE CODE IS (C) COPYRIGHT 1994-2002 * 10 | * BY THE Xiph.Org FOUNDATION http://www.xiph.org/ * 11 | * * 12 | ******************************************************************** 13 | 14 | function: registry for floor, res backends and channel mappings 15 | 16 | ********************************************************************/ 17 | 18 | #include "ivorbiscodec.h" 19 | #include "codec_internal.h" 20 | #include "registry.h" 21 | #include "misc.h" 22 | 23 | 24 | /* seems like major overkill now; the backend numbers will grow into 25 | the infrastructure soon enough */ 26 | 27 | extern vorbis_func_floor floor0_exportbundle; 28 | extern vorbis_func_floor floor1_exportbundle; 29 | extern vorbis_func_residue residue0_exportbundle; 30 | extern vorbis_func_residue residue1_exportbundle; 31 | extern vorbis_func_residue residue2_exportbundle; 32 | extern vorbis_func_mapping mapping0_exportbundle; 33 | 34 | vorbis_func_floor *_floor_P[]={ 35 | &floor0_exportbundle, 36 | &floor1_exportbundle, 37 | }; 38 | 39 | vorbis_func_residue *_residue_P[]={ 40 | &residue0_exportbundle, 41 | &residue1_exportbundle, 42 | &residue2_exportbundle, 43 | }; 44 | 45 | vorbis_func_mapping *_mapping_P[]={ 46 | &mapping0_exportbundle, 47 | }; 48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /core/tremor/registry.h: -------------------------------------------------------------------------------- 1 | /******************************************************************** 2 | * * 3 | * THIS FILE IS PART OF THE OggVorbis 'TREMOR' CODEC SOURCE CODE. * 4 | * * 5 | * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * 6 | * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * 7 | * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * 8 | * * 9 | * THE OggVorbis 'TREMOR' SOURCE CODE IS (C) COPYRIGHT 1994-2002 * 10 | * BY THE Xiph.Org FOUNDATION http://www.xiph.org/ * 11 | * * 12 | ******************************************************************** 13 | 14 | function: registry for time, floor, res backends and channel mappings 15 | 16 | ********************************************************************/ 17 | 18 | #ifndef _V_REG_H_ 19 | #define _V_REG_H_ 20 | 21 | #define VI_TRANSFORMB 1 22 | #define VI_WINDOWB 1 23 | #define VI_TIMEB 1 24 | #define VI_FLOORB 2 25 | #define VI_RESB 3 26 | #define VI_MAPB 1 27 | 28 | #include "backends.h" 29 | 30 | #if defined(_WIN32) && defined(VORBISDLL_IMPORT) 31 | # define EXTERN __declspec(dllimport) extern 32 | #else 33 | # define EXTERN extern 34 | #endif 35 | 36 | EXTERN vorbis_func_floor *_floor_P[]; 37 | EXTERN vorbis_func_residue *_residue_P[]; 38 | EXTERN vorbis_func_mapping *_mapping_P[]; 39 | 40 | #endif 41 | -------------------------------------------------------------------------------- /core/tremor/window.c: -------------------------------------------------------------------------------- 1 | /******************************************************************** 2 | * * 3 | * THIS FILE IS PART OF THE OggVorbis 'TREMOR' CODEC SOURCE CODE. * 4 | * * 5 | * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * 6 | * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * 7 | * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * 8 | * * 9 | * THE OggVorbis 'TREMOR' SOURCE CODE IS (C) COPYRIGHT 1994-2002 * 10 | * BY THE Xiph.Org FOUNDATION http://www.xiph.org/ * 11 | * * 12 | ******************************************************************** 13 | 14 | function: window functions 15 | 16 | ********************************************************************/ 17 | 18 | #include 19 | #include 20 | #include "misc.h" 21 | #include "window.h" 22 | #include "window_lookup.h" 23 | 24 | const void *_vorbis_window(int type, int left){ 25 | 26 | switch(type){ 27 | case 0: 28 | 29 | switch(left){ 30 | case 32: 31 | return vwin64; 32 | case 64: 33 | return vwin128; 34 | case 128: 35 | return vwin256; 36 | case 256: 37 | return vwin512; 38 | case 512: 39 | return vwin1024; 40 | case 1024: 41 | return vwin2048; 42 | case 2048: 43 | return vwin4096; 44 | case 4096: 45 | return vwin8192; 46 | default: 47 | return(0); 48 | } 49 | break; 50 | default: 51 | return(0); 52 | } 53 | } 54 | 55 | void _vorbis_apply_window(ogg_int32_t *d,const void *window_p[2], 56 | long *blocksizes, 57 | int lW,int W,int nW){ 58 | 59 | LOOKUP_T *window[2]; 60 | long n=blocksizes[W]; 61 | long ln=blocksizes[lW]; 62 | long rn=blocksizes[nW]; 63 | 64 | long leftbegin=n/4-ln/4; 65 | long leftend=leftbegin+ln/2; 66 | 67 | long rightbegin=n/2+n/4-rn/4; 68 | long rightend=rightbegin+rn/2; 69 | 70 | int i,p; 71 | 72 | window[0]=window_p[0]; 73 | window[1]=window_p[1]; 74 | 75 | for(i=0;i 6 | 7 | /**************************************************************************** 8 | * Config Option 9 | * 10 | ****************************************************************************/ 11 | 12 | enum {A = 0, B, C, X, Y, Z, START, MODE}; 13 | 14 | typedef struct 15 | { 16 | uint8 padtype; 17 | } t_input_config; 18 | 19 | typedef struct 20 | { 21 | uint8 hq_fm; 22 | uint8 filter; 23 | uint8 hq_psg; 24 | uint8 ym2612; 25 | uint8 ym2413; 26 | uint8 cd_latency; 27 | int16 psg_preamp; 28 | int16 fm_preamp; 29 | int16 cdda_volume; 30 | int16 pcm_volume; 31 | uint32 lp_range; 32 | int16 low_freq; 33 | int16 high_freq; 34 | int16 lg; 35 | int16 mg; 36 | int16 hg; 37 | uint8 mono; 38 | uint8 system; 39 | uint8 region_detect; 40 | uint8 vdp_mode; 41 | uint8 master_clock; 42 | uint8 force_dtack; 43 | uint8 addr_error; 44 | uint8 bios; 45 | uint8 lock_on; 46 | uint8 add_on; 47 | uint8 hot_swap; 48 | uint8 invert_mouse; 49 | uint8 gun_cursor[2]; 50 | uint8 overscan; 51 | uint8 gg_extra; 52 | uint8 ntsc; 53 | uint8 lcd; 54 | uint8 render; 55 | uint8 enhanced_vscroll; 56 | uint8 enhanced_vscroll_limit; 57 | t_input_config input[MAX_INPUTS]; 58 | uint8 gcw0_fullscreen; 59 | uint8 gcw0_frameskip; 60 | uint8 keepaspectratio; 61 | uint8 gg_scanlines; 62 | uint8 smsmaskleftbar; 63 | uint8 sl_autoresume; 64 | uint8 lightgun_speed; 65 | uint8 a_stick; 66 | uint8 cursor; 67 | SDLKey buttons[8]; 68 | //SDLKey button_a; 69 | //SDLKey button_b; 70 | //SDLKey button_c; 71 | //SDLKey button_x; 72 | //SDLKey button_y; 73 | //SDLKey button_z; 74 | //SDLKey button_start; 75 | //SDLKey button_mode; 76 | } t_config; 77 | 78 | /* Global variables */ 79 | extern t_config config; 80 | extern void config_save(void); 81 | extern void set_config_defaults(void); 82 | 83 | #endif /* _CONFIG_H_ */ 84 | 85 | -------------------------------------------------------------------------------- /gcw0/error.c: -------------------------------------------------------------------------------- 1 | /* 2 | error.c -- 3 | Error logging 4 | */ 5 | 6 | #include "osd.h" 7 | 8 | static FILE *error_log; 9 | 10 | void error_init(void) 11 | { 12 | #ifdef LOGERROR 13 | error_log = fopen("error.log","w"); 14 | #endif 15 | } 16 | 17 | void error_shutdown(void) 18 | { 19 | #ifdef LOGERROR 20 | if(error_log) fclose(error_log); 21 | #endif 22 | } 23 | 24 | void error(char *format, ...) 25 | { 26 | #ifdef LOGERROR 27 | if (log_error) 28 | { 29 | va_list ap; 30 | va_start(ap, format); 31 | if(error_log) vfprintf(error_log, format, ap); 32 | va_end(ap); 33 | } 34 | #endif 35 | } 36 | -------------------------------------------------------------------------------- /gcw0/error.h: -------------------------------------------------------------------------------- 1 | #ifndef _ERROR_H_ 2 | #define _ERROR_H_ 3 | 4 | /* Function prototypes */ 5 | void error_init(void); 6 | void error_shutdown(void); 7 | void error(char *format, ...); 8 | 9 | #endif /* _ERROR_H_ */ 10 | 11 | -------------------------------------------------------------------------------- /gcw0/fileio.h: -------------------------------------------------------------------------------- 1 | /* 2 | * fileio.c 3 | * 4 | * Load a normal file, or ZIP/GZ archive. 5 | * Returns loaded ROM size (zero if an error occured) 6 | * 7 | * Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 Charles Mac Donald 8 | * modified by Eke-Eke (Genesis Plus GX) 9 | * 10 | * Redistribution and use of this code or any derivative works are permitted 11 | * provided that the following conditions are met: 12 | * 13 | * - Redistributions may not be sold, nor may they be used in a commercial 14 | * product or activity. 15 | * 16 | * - Redistributions that are modified from the original source must include the 17 | * complete source code, including the source code for all components used by a 18 | * binary built from the modified sources. However, as a special exception, the 19 | * source code distributed need not include anything that is normally distributed 20 | * (in either source or binary form) with the major components (compiler, kernel, 21 | * and so on) of the operating system on which the executable runs, unless that 22 | * component itself accompanies the executable. 23 | * 24 | * - Redistributions must reproduce the above copyright notice, this list of 25 | * conditions and the following disclaimer in the documentation and/or other 26 | * materials provided with the distribution. 27 | * 28 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 29 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 30 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 31 | * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 32 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 33 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 34 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 35 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 36 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 37 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 38 | * POSSIBILITY OF SUCH DAMAGE. 39 | * 40 | ****************************************************************************************/ 41 | 42 | #ifndef _FILEIO_H_ 43 | #define _FILEIO_H_ 44 | 45 | /* Function prototypes */ 46 | extern int load_archive(char *filename, unsigned char *buffer, int maxsize, char *extension); 47 | 48 | #endif /* _FILEIO_H_ */ 49 | -------------------------------------------------------------------------------- /gcw0/main.h: -------------------------------------------------------------------------------- 1 | 2 | #ifndef _MAIN_H_ 3 | #define _MAIN_H_ 4 | 5 | #define MAX_INPUTS 8 6 | 7 | extern int debug_on; 8 | extern int log_error; 9 | extern int sdl_input_update(void); 10 | 11 | #endif /* _MAIN_H_ */ 12 | -------------------------------------------------------------------------------- /gcw0/opk-data/CLASSIC_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gcw0/opk-data/CLASSIC_01.png -------------------------------------------------------------------------------- /gcw0/opk-data/CLASSIC_01_RED.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gcw0/opk-data/CLASSIC_01_RED.png -------------------------------------------------------------------------------- /gcw0/opk-data/CLASSIC_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gcw0/opk-data/CLASSIC_02.png -------------------------------------------------------------------------------- /gcw0/opk-data/GG.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gcw0/opk-data/GG.png -------------------------------------------------------------------------------- /gcw0/opk-data/MCD.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gcw0/opk-data/MCD.png -------------------------------------------------------------------------------- /gcw0/opk-data/MD.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gcw0/opk-data/MD.png -------------------------------------------------------------------------------- /gcw0/opk-data/PICO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gcw0/opk-data/PICO.png -------------------------------------------------------------------------------- /gcw0/opk-data/ProggyTiny.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gcw0/opk-data/ProggyTiny.ttf -------------------------------------------------------------------------------- /gcw0/opk-data/SG1000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gcw0/opk-data/SG1000.png -------------------------------------------------------------------------------- /gcw0/opk-data/SMS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gcw0/opk-data/SMS.png -------------------------------------------------------------------------------- /gcw0/opk-data/SQUARE_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gcw0/opk-data/SQUARE_02.png -------------------------------------------------------------------------------- /gcw0/opk-data/default.gcw0.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Genesis Plus GX 3 | Comment=Genesis Plus GX for GCW-Zero 4 | MimeType=application/zip;application/x-genesis-rom;application/x-megadrive-rom;application/x-sms-rom;application/x-cd-image; 5 | Exec=gen_gcw0 %f 6 | Terminal=false 7 | Type=Application 8 | StartupNotify=true 9 | Icon=md 10 | Categories=emulators; 11 | X-OD-Manual=gcw0readme.txt 12 | -------------------------------------------------------------------------------- /gcw0/opk-data/scanlines.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gcw0/opk-data/scanlines.png -------------------------------------------------------------------------------- /gcw0/opk_build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | rm -rf genplus.opk 3 | mksquashfs gen_gcw0 opk-data/* genplus.opk -all-root -noappend -no-exports -no-xattrs -------------------------------------------------------------------------------- /gcw0/osd.h: -------------------------------------------------------------------------------- 1 | 2 | #ifndef _OSD_H_ 3 | #define _OSD_H_ 4 | 5 | #include 6 | #include 7 | #include 8 | #include 9 | 10 | #include 11 | #include 12 | 13 | #include "shared.h" 14 | #include "main.h" 15 | #include "config.h" 16 | #include "error.h" 17 | #include "unzip.h" 18 | #include "fileio.h" 19 | 20 | #define MAXPATHLEN 1024 21 | #define DEFAULT_PATH "/.genplus" 22 | #define osd_input_update sdl_input_update 23 | 24 | 25 | #define GG_ROM "/usr/local/home/.genplus/lock-on/ggenie.bin" 26 | #define AR_ROM "/usr/local/home/.genplus/lock-on/areplay.bin" 27 | #define SK_ROM "/usr/local/home/.genplus/lock-on/sk.bin" 28 | #define SK_UPMEM "/usr/local/home/.genplus/lock-on/sk2chip.bin" 29 | #define CD_BIOS_US "/usr/local/home/.genplus/bios/bios_CD_U.bin" 30 | #define CD_BIOS_EU "/usr/local/home/.genplus/bios/bios_CD_E.bin" 31 | #define CD_BIOS_JP "/usr/local/home/.genplus/bios/bios_CD_J.bin" 32 | #define MD_BIOS "/usr/local/home/.genplus/bios/bios_MD.bin" 33 | #define MS_BIOS_US "/usr/local/home/.genplus/bios/bios_U.sms" 34 | #define MS_BIOS_EU "/usr/local/home/.genplus/bios/bios_E.sms" 35 | #define MS_BIOS_JP "/usr/local/home/.genplus/bios/bios_J.sms" 36 | #define GG_BIOS "/usr/local/home/.genplus/bios/bios.gg" 37 | 38 | #endif /* _OSD_H_ */ 39 | -------------------------------------------------------------------------------- /gcw0/utils.h: -------------------------------------------------------------------------------- 1 | #ifndef _UTILS_H_ 2 | #define _UTILS_H_ 3 | 4 | /* Function prototypes */ 5 | void create_default_directories(void); 6 | char* get_save_directory(void); 7 | char* gcw0_get_key_name(int keycode); 8 | char *get_file_name(char *full_path); 9 | #endif /* _UTILS_H_ */ 10 | 11 | -------------------------------------------------------------------------------- /gx/docs/README.doc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/docs/README.doc -------------------------------------------------------------------------------- /gx/docs/README.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/docs/README.pdf -------------------------------------------------------------------------------- /gx/fileio/fileio.h: -------------------------------------------------------------------------------- 1 | /* 2 | * fileio.c 3 | * 4 | * Load a normal file, or ZIP/GZ archive into ROM buffer. 5 | * Returns loaded ROM size (zero if an error occured). 6 | * 7 | * Copyright Eke-Eke (2007-2014), based on original work from Softdev (2006) 8 | * 9 | * Redistribution and use of this code or any derivative works are permitted 10 | * provided that the following conditions are met: 11 | * 12 | * - Redistributions may not be sold, nor may they be used in a commercial 13 | * product or activity. 14 | * 15 | * - Redistributions that are modified from the original source must include the 16 | * complete source code, including the source code for all components used by a 17 | * binary built from the modified sources. However, as a special exception, the 18 | * source code distributed need not include anything that is normally distributed 19 | * (in either source or binary form) with the major components (compiler, kernel, 20 | * and so on) of the operating system on which the executable runs, unless that 21 | * component itself accompanies the executable. 22 | * 23 | * - Redistributions must reproduce the above copyright notice, this list of 24 | * conditions and the following disclaimer in the documentation and/or other 25 | * materials provided with the distribution. 26 | * 27 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 28 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 29 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 30 | * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 31 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 32 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 33 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 34 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 35 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 36 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 37 | * POSSIBILITY OF SUCH DAMAGE. 38 | * 39 | ****************************************************************************************/ 40 | 41 | #ifndef _FILEIO_H_ 42 | #define _FILEIO_H_ 43 | 44 | /* Function prototypes */ 45 | int load_archive(char *filename, unsigned char *buffer, int maxsize, char *extension); 46 | 47 | #endif /* _FILEIO_H_ */ 48 | -------------------------------------------------------------------------------- /gx/gui/cheats.h: -------------------------------------------------------------------------------- 1 | /* 2 | * cheats.c 3 | * 4 | * Genesis Plus GX Cheats menu 5 | * 6 | * Copyright Eke-Eke (2010-2022) 7 | * 8 | * Redistribution and use of this code or any derivative works are permitted 9 | * provided that the following conditions are met: 10 | * 11 | * - Redistributions may not be sold, nor may they be used in a commercial 12 | * product or activity. 13 | * 14 | * - Redistributions that are modified from the original source must include the 15 | * complete source code, including the source code for all components used by a 16 | * binary built from the modified sources. However, as a special exception, the 17 | * source code distributed need not include anything that is normally distributed 18 | * (in either source or binary form) with the major components (compiler, kernel, 19 | * and so on) of the operating system on which the executable runs, unless that 20 | * component itself accompanies the executable. 21 | * 22 | * - Redistributions must reproduce the above copyright notice, this list of 23 | * conditions and the following disclaimer in the documentation and/or other 24 | * materials provided with the distribution. 25 | * 26 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 27 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 28 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 29 | * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 30 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 31 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 32 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 33 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 34 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 35 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 36 | * POSSIBILITY OF SUCH DAMAGE. 37 | * 38 | ****************************************************************************************/ 39 | 40 | #ifndef _CHEATS_H 41 | #define _CHEATS_H 42 | 43 | #define CHEATS_UPDATE() ROMCheatUpdate() 44 | 45 | extern void CheatMenu(void); 46 | extern void CheatLoad(void); 47 | extern void RAMCheatUpdate(void); 48 | extern void ROMCheatUpdate(void); 49 | 50 | #endif 51 | -------------------------------------------------------------------------------- /gx/gui/menu.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/gui/menu.c -------------------------------------------------------------------------------- /gx/gui/menu.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * menu.c 3 | * 4 | * Genesis Plus GX menus 5 | * 6 | * Copyright Eke-Eke (2009-2023) 7 | * 8 | * Redistribution and use of this code or any derivative works are permitted 9 | * provided that the following conditions are met: 10 | * 11 | * - Redistributions may not be sold, nor may they be used in a commercial 12 | * product or activity. 13 | * 14 | * - Redistributions that are modified from the original source must include the 15 | * complete source code, including the source code for all components used by a 16 | * binary built from the modified sources. However, as a special exception, the 17 | * source code distributed need not include anything that is normally distributed 18 | * (in either source or binary form) with the major components (compiler, kernel, 19 | * and so on) of the operating system on which the executable runs, unless that 20 | * component itself accompanies the executable. 21 | * 22 | * - Redistributions must reproduce the above copyright notice, this list of 23 | * conditions and the following disclaimer in the documentation and/or other 24 | * materials provided with the distribution. 25 | * 26 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 27 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 28 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 29 | * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 30 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 31 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 32 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 33 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 34 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 35 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 36 | * POSSIBILITY OF SUCH DAMAGE. 37 | * 38 | ****************************************************************************************/ 39 | 40 | #ifndef _MENU_H 41 | #define _MENU_H 42 | 43 | extern void mainmenu(void); 44 | extern void (*reload)(void); 45 | 46 | #endif 47 | -------------------------------------------------------------------------------- /gx/images/Banner_bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Banner_bottom.png -------------------------------------------------------------------------------- /gx/images/Banner_main.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Banner_main.png -------------------------------------------------------------------------------- /gx/images/Banner_top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Banner_top.png -------------------------------------------------------------------------------- /gx/images/Bg_credits.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Bg_credits.png -------------------------------------------------------------------------------- /gx/images/Bg_intro_c1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Bg_intro_c1.png -------------------------------------------------------------------------------- /gx/images/Bg_intro_c2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Bg_intro_c2.png -------------------------------------------------------------------------------- /gx/images/Bg_intro_c3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Bg_intro_c3.png -------------------------------------------------------------------------------- /gx/images/Bg_intro_c4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Bg_intro_c4.png -------------------------------------------------------------------------------- /gx/images/Bg_layer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Bg_layer.png -------------------------------------------------------------------------------- /gx/images/Bg_overlay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Bg_overlay.png -------------------------------------------------------------------------------- /gx/images/Browser_dir.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Browser_dir.png -------------------------------------------------------------------------------- /gx/images/Button_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Button_arrow.png -------------------------------------------------------------------------------- /gx/images/Button_arrow_over.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Button_arrow_over.png -------------------------------------------------------------------------------- /gx/images/Button_delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Button_delete.png -------------------------------------------------------------------------------- /gx/images/Button_delete_over.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Button_delete_over.png -------------------------------------------------------------------------------- /gx/images/Button_digit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Button_digit.png -------------------------------------------------------------------------------- /gx/images/Button_digit_over.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Button_digit_over.png -------------------------------------------------------------------------------- /gx/images/Button_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Button_down.png -------------------------------------------------------------------------------- /gx/images/Button_down_over.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Button_down_over.png -------------------------------------------------------------------------------- /gx/images/Button_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Button_icon.png -------------------------------------------------------------------------------- /gx/images/Button_icon_over.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Button_icon_over.png -------------------------------------------------------------------------------- /gx/images/Button_icon_sm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Button_icon_sm.png -------------------------------------------------------------------------------- /gx/images/Button_icon_sm_over.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Button_icon_sm_over.png -------------------------------------------------------------------------------- /gx/images/Button_load.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Button_load.png -------------------------------------------------------------------------------- /gx/images/Button_load_over.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Button_load_over.png -------------------------------------------------------------------------------- /gx/images/Button_save.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Button_save.png -------------------------------------------------------------------------------- /gx/images/Button_save_over.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Button_save_over.png -------------------------------------------------------------------------------- /gx/images/Button_sm_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Button_sm_blue.png -------------------------------------------------------------------------------- /gx/images/Button_sm_grey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Button_sm_grey.png -------------------------------------------------------------------------------- /gx/images/Button_sm_yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Button_sm_yellow.png -------------------------------------------------------------------------------- /gx/images/Button_special.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Button_special.png -------------------------------------------------------------------------------- /gx/images/Button_special_over.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Button_special_over.png -------------------------------------------------------------------------------- /gx/images/Button_text.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Button_text.png -------------------------------------------------------------------------------- /gx/images/Button_text_over.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Button_text_over.png -------------------------------------------------------------------------------- /gx/images/Button_up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Button_up.png -------------------------------------------------------------------------------- /gx/images/Button_up_over.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Button_up_over.png -------------------------------------------------------------------------------- /gx/images/CD_access_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/CD_access_off.png -------------------------------------------------------------------------------- /gx/images/CD_access_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/CD_access_on.png -------------------------------------------------------------------------------- /gx/images/CD_ready_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/CD_ready_off.png -------------------------------------------------------------------------------- /gx/images/CD_ready_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/CD_ready_on.png -------------------------------------------------------------------------------- /gx/images/Cart_gg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Cart_gg.png -------------------------------------------------------------------------------- /gx/images/Cart_md.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Cart_md.png -------------------------------------------------------------------------------- /gx/images/Cart_ms.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Cart_ms.png -------------------------------------------------------------------------------- /gx/images/Cart_sg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Cart_sg.png -------------------------------------------------------------------------------- /gx/images/Crosshair_p1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Crosshair_p1.png -------------------------------------------------------------------------------- /gx/images/Crosshair_p2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Crosshair_p2.png -------------------------------------------------------------------------------- /gx/images/Ctrl_4wayplay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Ctrl_4wayplay.png -------------------------------------------------------------------------------- /gx/images/Ctrl_activator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Ctrl_activator.png -------------------------------------------------------------------------------- /gx/images/Ctrl_config.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Ctrl_config.png -------------------------------------------------------------------------------- /gx/images/Ctrl_gamepad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Ctrl_gamepad.png -------------------------------------------------------------------------------- /gx/images/Ctrl_graphic_board.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Ctrl_graphic_board.png -------------------------------------------------------------------------------- /gx/images/Ctrl_justifiers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Ctrl_justifiers.png -------------------------------------------------------------------------------- /gx/images/Ctrl_lightphaser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Ctrl_lightphaser.png -------------------------------------------------------------------------------- /gx/images/Ctrl_mastertap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Ctrl_mastertap.png -------------------------------------------------------------------------------- /gx/images/Ctrl_menacer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Ctrl_menacer.png -------------------------------------------------------------------------------- /gx/images/Ctrl_mouse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Ctrl_mouse.png -------------------------------------------------------------------------------- /gx/images/Ctrl_none.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Ctrl_none.png -------------------------------------------------------------------------------- /gx/images/Ctrl_pad2b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Ctrl_pad2b.png -------------------------------------------------------------------------------- /gx/images/Ctrl_pad3b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Ctrl_pad3b.png -------------------------------------------------------------------------------- /gx/images/Ctrl_pad6b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Ctrl_pad6b.png -------------------------------------------------------------------------------- /gx/images/Ctrl_pad_auto.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Ctrl_pad_auto.png -------------------------------------------------------------------------------- /gx/images/Ctrl_paddle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Ctrl_paddle.png -------------------------------------------------------------------------------- /gx/images/Ctrl_sportspad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Ctrl_sportspad.png -------------------------------------------------------------------------------- /gx/images/Ctrl_teamplayer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Ctrl_teamplayer.png -------------------------------------------------------------------------------- /gx/images/Ctrl_xe_1ap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Ctrl_xe_1ap.png -------------------------------------------------------------------------------- /gx/images/Frame_s1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Frame_s1.png -------------------------------------------------------------------------------- /gx/images/Frame_s1_title.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Frame_s1_title.png -------------------------------------------------------------------------------- /gx/images/Frame_s2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Frame_s2.png -------------------------------------------------------------------------------- /gx/images/Frame_s2_title.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Frame_s2_title.png -------------------------------------------------------------------------------- /gx/images/Frame_s3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Frame_s3.png -------------------------------------------------------------------------------- /gx/images/Frame_throbber.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Frame_throbber.png -------------------------------------------------------------------------------- /gx/images/Key_A_gcn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Key_A_gcn.png -------------------------------------------------------------------------------- /gx/images/Key_A_wii.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Key_A_wii.png -------------------------------------------------------------------------------- /gx/images/Key_B_gcn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Key_B_gcn.png -------------------------------------------------------------------------------- /gx/images/Key_B_wii.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Key_B_wii.png -------------------------------------------------------------------------------- /gx/images/Key_DPAD.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Key_DPAD.png -------------------------------------------------------------------------------- /gx/images/Key_L_gcn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Key_L_gcn.png -------------------------------------------------------------------------------- /gx/images/Key_Minus_wii.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Key_Minus_wii.png -------------------------------------------------------------------------------- /gx/images/Key_Plus_wii.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Key_Plus_wii.png -------------------------------------------------------------------------------- /gx/images/Key_R_gcn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Key_R_gcn.png -------------------------------------------------------------------------------- /gx/images/Load_cd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Load_cd.png -------------------------------------------------------------------------------- /gx/images/Load_gg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Load_gg.png -------------------------------------------------------------------------------- /gx/images/Load_md.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Load_md.png -------------------------------------------------------------------------------- /gx/images/Load_ms.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Load_ms.png -------------------------------------------------------------------------------- /gx/images/Load_recent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Load_recent.png -------------------------------------------------------------------------------- /gx/images/Load_sg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Load_sg.png -------------------------------------------------------------------------------- /gx/images/Main_cheats.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Main_cheats.png -------------------------------------------------------------------------------- /gx/images/Main_file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Main_file.png -------------------------------------------------------------------------------- /gx/images/Main_load.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Main_load.png -------------------------------------------------------------------------------- /gx/images/Main_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Main_logo.png -------------------------------------------------------------------------------- /gx/images/Main_options.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Main_options.png -------------------------------------------------------------------------------- /gx/images/Main_play_gcn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Main_play_gcn.png -------------------------------------------------------------------------------- /gx/images/Main_play_wii.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Main_play_wii.png -------------------------------------------------------------------------------- /gx/images/Main_quit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Main_quit.png -------------------------------------------------------------------------------- /gx/images/Main_reset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Main_reset.png -------------------------------------------------------------------------------- /gx/images/Main_showinfo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Main_showinfo.png -------------------------------------------------------------------------------- /gx/images/Main_takeshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Main_takeshot.png -------------------------------------------------------------------------------- /gx/images/Option_ctrl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Option_ctrl.png -------------------------------------------------------------------------------- /gx/images/Option_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Option_menu.png -------------------------------------------------------------------------------- /gx/images/Option_sound.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Option_sound.png -------------------------------------------------------------------------------- /gx/images/Option_system.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Option_system.png -------------------------------------------------------------------------------- /gx/images/Option_video.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Option_video.png -------------------------------------------------------------------------------- /gx/images/Overlay_bar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Overlay_bar.png -------------------------------------------------------------------------------- /gx/images/Snap_empty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Snap_empty.png -------------------------------------------------------------------------------- /gx/images/Star_empty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Star_empty.png -------------------------------------------------------------------------------- /gx/images/Star_full.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/Star_full.png -------------------------------------------------------------------------------- /gx/images/ctrl_classic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/ctrl_classic.png -------------------------------------------------------------------------------- /gx/images/ctrl_gamecube.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/ctrl_gamecube.png -------------------------------------------------------------------------------- /gx/images/ctrl_nunchuk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/ctrl_nunchuk.png -------------------------------------------------------------------------------- /gx/images/ctrl_option_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/ctrl_option_off.png -------------------------------------------------------------------------------- /gx/images/ctrl_option_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/ctrl_option_on.png -------------------------------------------------------------------------------- /gx/images/ctrl_wiimote.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/ctrl_wiimote.png -------------------------------------------------------------------------------- /gx/images/ctrl_wiiu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/ctrl_wiiu.png -------------------------------------------------------------------------------- /gx/images/generic_point.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/images/generic_point.png -------------------------------------------------------------------------------- /gx/sounds/button_over.pcm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/sounds/button_over.pcm -------------------------------------------------------------------------------- /gx/sounds/button_select.pcm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/sounds/button_select.pcm -------------------------------------------------------------------------------- /gx/sounds/intro.pcm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/sounds/intro.pcm -------------------------------------------------------------------------------- /gx/utils/oggplayer.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/utils/oggplayer.c -------------------------------------------------------------------------------- /gx/utils/oggplayer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/gx/utils/oggplayer.h -------------------------------------------------------------------------------- /gx/utils/wiidrc/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 FIX94 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /gx/utils/wiidrc/wiidrc.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2017 FIX94 3 | * 4 | * This software may be modified and distributed under the terms 5 | * of the MIT license. See the LICENSE file for details. 6 | */ 7 | #ifndef _WIIDRC_H_ 8 | #define _WIIDRC_H_ 9 | 10 | #ifdef __cplusplus 11 | extern "C" { 12 | #endif 13 | 14 | struct WiiDRCData { 15 | s16 xAxisL; 16 | s16 xAxisR; 17 | s16 yAxisL; 18 | s16 yAxisR; 19 | u16 button; 20 | u8 battery; 21 | u8 extra; 22 | }; 23 | 24 | #define WIIDRC_BUTTON_A 0x8000 25 | #define WIIDRC_BUTTON_B 0x4000 26 | #define WIIDRC_BUTTON_X 0x2000 27 | #define WIIDRC_BUTTON_Y 0x1000 28 | #define WIIDRC_BUTTON_LEFT 0x0800 29 | #define WIIDRC_BUTTON_RIGHT 0x0400 30 | #define WIIDRC_BUTTON_UP 0x0200 31 | #define WIIDRC_BUTTON_DOWN 0x0100 32 | #define WIIDRC_BUTTON_ZL 0x0080 33 | #define WIIDRC_BUTTON_ZR 0x0040 34 | #define WIIDRC_BUTTON_L 0x0020 35 | #define WIIDRC_BUTTON_R 0x0010 36 | #define WIIDRC_BUTTON_PLUS 0x0008 37 | #define WIIDRC_BUTTON_MINUS 0x0004 38 | #define WIIDRC_BUTTON_HOME 0x0002 39 | #define WIIDRC_BUTTON_SYNC 0x0001 40 | 41 | #define WIIDRC_EXTRA_BUTTON_L3 0x80 42 | #define WIIDRC_EXTRA_BUTTON_R3 0x40 43 | #define WIIDRC_EXTRA_BUTTON_TV 0x20 44 | #define WIIDRC_EXTRA_OVERLAY_TV 0x10 45 | #define WIIDRC_EXTRA_OVERLAY_POWER 0x01 46 | 47 | bool WiiDRC_Init(); 48 | bool WiiDRC_Inited(); 49 | bool WiiDRC_Recalibrate(); 50 | bool WiiDRC_ScanPads(); 51 | bool WiiDRC_Connected(); 52 | bool WiiDRC_ShutdownRequested(); 53 | const u8 *WiiDRC_GetRawI2CAddr(); 54 | const struct WiiDRCData *WiiDRC_Data(); 55 | u32 WiiDRC_ButtonsUp(); 56 | u32 WiiDRC_ButtonsDown(); 57 | u32 WiiDRC_ButtonsHeld(); 58 | s16 WiiDRC_lStickX(); 59 | s16 WiiDRC_lStickY(); 60 | s16 WiiDRC_rStickX(); 61 | s16 WiiDRC_rStickY(); 62 | 63 | #ifdef __cplusplus 64 | } 65 | #endif 66 | 67 | #endif 68 | -------------------------------------------------------------------------------- /gx/utils/wiidrc/wiidrc_structs.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2017 FIX94 3 | * 4 | * This software may be modified and distributed under the terms 5 | * of the MIT license. See the LICENSE file for details. 6 | */ 7 | #ifndef _WIIDRC_STRUCTS_H_ 8 | #define _WIIDRC_STRUCTS_H_ 9 | 10 | struct WiiDRCStat { 11 | s16 xAxisLmid; 12 | s16 xAxisRmid; 13 | s16 yAxisLmid; 14 | s16 yAxisRmid; 15 | }; 16 | 17 | struct WiiDRCButtons { 18 | u32 up; 19 | u32 down; 20 | u32 state; 21 | }; 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /intl/.gitignore: -------------------------------------------------------------------------------- 1 | __pycache__ 2 | crowdin-cli.jar 3 | *.h 4 | *.json 5 | -------------------------------------------------------------------------------- /intl/crowdin.yaml: -------------------------------------------------------------------------------- 1 | "project_id": "380544" 2 | "api_token": "_secret_" 3 | "base_url": "https://api.crowdin.com" 4 | "preserve_hierarchy": true 5 | 6 | "files": 7 | [ 8 | { 9 | "source": "/_core_name_/_us.json", 10 | "dest": "/_core_name_/_core_name_.json", 11 | "translation": "/_core_name_/_%two_letters_code%.json", 12 | }, 13 | ] 14 | -------------------------------------------------------------------------------- /intl/crowdin_prep.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | 3 | import core_option_translation as t 4 | 5 | if __name__ == '__main__': 6 | try: 7 | if t.os.path.isfile(t.sys.argv[1]) or t.sys.argv[1].endswith('.h'): 8 | _temp = t.os.path.dirname(t.sys.argv[1]) 9 | else: 10 | _temp = t.sys.argv[1] 11 | while _temp.endswith('/') or _temp.endswith('\\'): 12 | _temp = _temp[:-1] 13 | TARGET_DIR_PATH = _temp 14 | except IndexError: 15 | TARGET_DIR_PATH = t.os.path.dirname(t.os.path.dirname(t.os.path.realpath(__file__))) 16 | print("No path provided, assuming parent directory:\n" + TARGET_DIR_PATH) 17 | 18 | CORE_NAME = t.clean_file_name(t.sys.argv[2]) 19 | DIR_PATH = t.os.path.dirname(t.os.path.realpath(__file__)) 20 | H_FILE_PATH = t.os.path.join(TARGET_DIR_PATH, 'libretro_core_options.h') 21 | 22 | print('Getting texts from libretro_core_options.h') 23 | with open(H_FILE_PATH, 'r+', encoding='utf-8') as _h_file: 24 | _main_text = _h_file.read() 25 | _hash_n_str = t.get_texts(_main_text) 26 | _files = t.create_msg_hash(DIR_PATH, CORE_NAME, _hash_n_str) 27 | 28 | _source_jsons = t.h2json(_files) 29 | 30 | print('\nAll done!') 31 | -------------------------------------------------------------------------------- /intl/crowdin_translate.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | 3 | import core_option_translation as t 4 | 5 | if __name__ == '__main__': 6 | try: 7 | if t.os.path.isfile(t.sys.argv[1]) or t.sys.argv[1].endswith('.h'): 8 | _temp = t.os.path.dirname(t.sys.argv[1]) 9 | else: 10 | _temp = t.sys.argv[1] 11 | while _temp.endswith('/') or _temp.endswith('\\'): 12 | _temp = _temp[:-1] 13 | TARGET_DIR_PATH = _temp 14 | except IndexError: 15 | TARGET_DIR_PATH = t.os.path.dirname(t.os.path.dirname(t.os.path.realpath(__file__))) 16 | print("No path provided, assuming parent directory:\n" + TARGET_DIR_PATH) 17 | 18 | CORE_NAME = t.clean_file_name(t.sys.argv[2]) 19 | DIR_PATH = t.os.path.dirname(t.os.path.realpath(__file__)) 20 | LOCALISATIONS_PATH = t.os.path.join(DIR_PATH, CORE_NAME) 21 | US_FILE_PATH = t.os.path.join(LOCALISATIONS_PATH, '_us.h') 22 | H_FILE_PATH = t.os.path.join(TARGET_DIR_PATH, 'libretro_core_options.h') 23 | INTL_FILE_PATH = t.os.path.join(TARGET_DIR_PATH, 'libretro_core_options_intl.h') 24 | 25 | print('Getting texts from libretro_core_options.h') 26 | with open(H_FILE_PATH, 'r+', encoding='utf-8') as _h_file: 27 | _main_text = _h_file.read() 28 | _hash_n_str = t.get_texts(_main_text) 29 | _files = t.create_msg_hash(DIR_PATH, CORE_NAME, _hash_n_str) 30 | _source_jsons = t.h2json(_files) 31 | 32 | print('Converting translations *.json to *.h:') 33 | localisation_files = t.os.scandir(LOCALISATIONS_PATH) 34 | t.json2h(LOCALISATIONS_PATH, localisation_files) 35 | 36 | print('Constructing libretro_core_options_intl.h') 37 | t.create_intl_file(INTL_FILE_PATH, LOCALISATIONS_PATH, _main_text, _files["_us"]) 38 | 39 | print('\nAll done!') 40 | -------------------------------------------------------------------------------- /intl/download_workflow.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | 3 | import sys 4 | import subprocess 5 | 6 | try: 7 | api_key = sys.argv[1] 8 | core_name = sys.argv[2] 9 | dir_path = sys.argv[3] 10 | except IndexError as e: 11 | print('Please provide path to libretro_core_options.h, Crowdin API Token and core name!') 12 | raise e 13 | 14 | subprocess.run(['python3', 'intl/crowdin_prep.py', dir_path, core_name]) 15 | subprocess.run(['python3', 'intl/crowdin_translation_download.py', api_key, core_name]) 16 | subprocess.run(['python3', 'intl/crowdin_translate.py', dir_path, core_name]) 17 | -------------------------------------------------------------------------------- /intl/remove_initial_cycle.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | 3 | with open('intl/upload_workflow.py', 'r') as workflow: 4 | workflow_config = workflow.read() 5 | 6 | workflow_config = workflow_config.replace( 7 | "subprocess.run(['python3', 'intl/core_option_translation.py', dir_path, core_name])", 8 | "subprocess.run(['python3', 'intl/crowdin_prep.py', dir_path, core_name])" 9 | ) 10 | workflow_config = workflow_config.replace( 11 | "subprocess.run(['python3', 'intl/initial_sync.py', api_key, core_name])", 12 | "subprocess.run(['python3', 'intl/crowdin_source_upload.py', api_key, core_name])" 13 | ) 14 | with open('intl/upload_workflow.py', 'w') as workflow: 15 | workflow.write(workflow_config) 16 | 17 | 18 | with open('intl/download_workflow.py', 'r') as workflow: 19 | workflow_config = workflow.read() 20 | 21 | workflow_config = workflow_config.replace( 22 | "subprocess.run(['python3', 'intl/core_option_translation.py', dir_path, core_name])", 23 | "subprocess.run(['python3', 'intl/crowdin_prep.py', dir_path, core_name])" 24 | ) 25 | workflow_config = workflow_config.replace( 26 | "subprocess.run(['python3', 'intl/initial_sync.py', api_key, core_name])", 27 | "subprocess.run(['python3', 'intl/crowdin_translation_download.py', api_key, core_name])" 28 | ) 29 | with open('intl/download_workflow.py', 'w') as workflow: 30 | workflow.write(workflow_config) 31 | -------------------------------------------------------------------------------- /intl/upload_workflow.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | 3 | import sys 4 | import subprocess 5 | 6 | try: 7 | api_key = sys.argv[1] 8 | core_name = sys.argv[2] 9 | dir_path = sys.argv[3] 10 | except IndexError as e: 11 | print('Please provide path to libretro_core_options.h, Crowdin API Token and core name!') 12 | raise e 13 | 14 | subprocess.run(['python3', 'intl/crowdin_prep.py', dir_path, core_name]) 15 | subprocess.run(['python3', 'intl/crowdin_source_upload.py', api_key, core_name]) 16 | -------------------------------------------------------------------------------- /libretro/debian/changelog: -------------------------------------------------------------------------------- 1 | libretro-genesisplusgx (1.7.4-0ubuntu3) UNRELEASED; urgency=low 2 | 3 | * Updated to latest git. 4 | * Debian folder from hunterk PPA to upstream 5 | * Updated debian package and fixed lintian errors/warnings 6 | 7 | -- Sérgio Benjamim Mon, 14 Jul 2014 22:40:00 -0300 8 | 9 | 10 | libretro-genesisplusgx (1.7.4-0ubuntu2) UNRELEASED; urgency=low 11 | 12 | * Updated to latest git. 13 | 14 | -- Hunter Kaller (hizzlekizzle) Wed, 12 Mar 2014 13:24:59 -0500 15 | -------------------------------------------------------------------------------- /libretro/debian/compat: -------------------------------------------------------------------------------- 1 | 9 2 | -------------------------------------------------------------------------------- /libretro/debian/control: -------------------------------------------------------------------------------- 1 | Source: libretro-genesisplusgx 2 | Section: otherosfs 3 | Priority: extra 4 | Maintainer: Hunter Kaller (hizzlekizzle) 5 | Build-Depends: debhelper (>= 9), zlib1g-dev 6 | Standards-Version: 3.9.5 7 | Homepage: https://code.google.com/p/genplus-gx 8 | Vcs-Git: git://github.com/libretro/Genesis-Plus-GX.git 9 | Vcs-Browser: https://github.com/libretro/Genesis-Plus-GX 10 | 11 | Package: libretro-genesisplusgx 12 | Architecture: any 13 | Depends: ${shlibs:Depends}, ${misc:Depends}, libretro-core-info 14 | Description: Libretro wrapper for Genesis Plus GX 15 | This wrapper makes Genesis Plus GX API compatible with libretro, thus allowing 16 | its use with libretro frontends, such as RetroArch. 17 | . 18 | Genesis Plus GX is an open-source Sega 8/16 bit emulator focused on accuracy 19 | and portability. Initially ported and developed on Gamecube / Wii consoles 20 | only through libogc / devkitPPC, it is now available on many other platforms 21 | through various frontends. 22 | . 23 | The source code, originally based on Genesis Plus 1.3 by Charles MacDonald, has 24 | been heavily modified & enhanced, with respect to initial goals and design, in 25 | order to improve the accuracy of emulation, implementing new features and 26 | adding support for extra peripherals, cartridge & systems hardware. 27 | . 28 | The result is that Genesis Plus GX is now more a continuation of the original 29 | project than a simple port, providing very accurate emulation and 100% 30 | compatibility with Genesis / Mega Drive, Sega/Mega CD, Master System, Game Gear 31 | & SG-1000 released software (including all unlicensed or pirate known dumps), 32 | also emulating backwards compatibility modes when available. 33 | -------------------------------------------------------------------------------- /libretro/debian/dirs: -------------------------------------------------------------------------------- 1 | usr/lib/libretro 2 | -------------------------------------------------------------------------------- /libretro/debian/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | 3 | # Copyright (C) 2011-2015 Hunter Kaller 4 | # Copyright (C) 2014, 2015 Sergio Benjamim 5 | 6 | # This program is free software; you can redistribute it and/or modify 7 | # it under the terms of the GNU General Public License as published by 8 | # the Free Software Foundation; either version 2, or (at your option) 9 | # any later version. 10 | 11 | # This program is distributed in the hope that it will be useful, 12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | # GNU General Public License for more details. 15 | 16 | # You should have received a copy of the GNU General Public License 17 | # along with this program; if not, write to the Free Software Foundation, 18 | # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 19 | 20 | # Uncomment this to turn on verbose mode. 21 | #export DH_VERBOSE=1 22 | 23 | %: 24 | dh $@ --parallel 25 | 26 | ARCH=$(shell dpkg-architecture -qDEB_HOST_ARCH) 27 | 28 | override_dh_auto_build: 29 | ifeq ($(ARCH),armhf) 30 | $(MAKE) -f Makefile.libretro platform="armv hardfloat" 31 | else 32 | $(MAKE) -f Makefile.libretro 33 | endif 34 | 35 | override_dh_auto_install: 36 | cp *.so debian/libretro-*/usr/lib/libretro/ 37 | 38 | override_dh_auto_clean: 39 | $(MAKE) -f Makefile.libretro clean 40 | -------------------------------------------------------------------------------- /libretro/debian/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (quilt) 2 | -------------------------------------------------------------------------------- /libretro/deps/libchdr/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright Romain Tisserand 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are met: 6 | * Redistributions of source code must retain the above copyright 7 | notice, this list of conditions and the following disclaimer. 8 | * Redistributions in binary form must reproduce the above copyright 9 | notice, this list of conditions and the following disclaimer in the 10 | documentation and/or other materials provided with the distribution. 11 | * Neither the name of the nor the 12 | names of its contributors may be used to endorse or promote products 13 | derived from this software without specific prior written permission. 14 | 15 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 16 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18 | DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY 19 | DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 21 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 22 | ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 24 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 | -------------------------------------------------------------------------------- /libretro/deps/libchdr/README.md: -------------------------------------------------------------------------------- 1 | # libchdr 2 | 3 | libchdr is a standalone library for reading MAME's CHDv1-v5 formats. 4 | 5 | The code is based off of MAME's old C codebase which read up to CHDv4 with OS-dependent features removed, and CHDv5 support backported from MAME's current C++ codebase. 6 | 7 | libchdr is licensed under the BSD 3-Clause (see [LICENSE.txt](LICENSE.txt)) and uses third party libraries that are each distributed under their own terms (see each library's license in [deps/](deps/)). 8 | -------------------------------------------------------------------------------- /libretro/deps/libchdr/include/libchdr/bitstream.h: -------------------------------------------------------------------------------- 1 | /* license:BSD-3-Clause 2 | * copyright-holders:Aaron Giles 3 | *************************************************************************** 4 | 5 | bitstream.h 6 | 7 | Helper classes for reading/writing at the bit level. 8 | 9 | ***************************************************************************/ 10 | 11 | #pragma once 12 | 13 | #ifndef __BITSTREAM_H__ 14 | #define __BITSTREAM_H__ 15 | 16 | #include 17 | 18 | /*************************************************************************** 19 | * TYPE DEFINITIONS 20 | *************************************************************************** 21 | */ 22 | 23 | /* helper class for reading from a bit buffer */ 24 | struct bitstream 25 | { 26 | uint32_t buffer; /* current bit accumulator */ 27 | int bits; /* number of bits in the accumulator */ 28 | const uint8_t * read; /* read pointer */ 29 | uint32_t doffset; /* byte offset within the data */ 30 | uint32_t dlength; /* length of the data */ 31 | }; 32 | 33 | struct bitstream* create_bitstream(const void *src, uint32_t srclength); 34 | int bitstream_overflow(struct bitstream* bitstream); 35 | uint32_t bitstream_read_offset(struct bitstream* bitstream); 36 | 37 | uint32_t bitstream_read(struct bitstream* bitstream, int numbits); 38 | uint32_t bitstream_peek(struct bitstream* bitstream, int numbits); 39 | void bitstream_remove(struct bitstream* bitstream, int numbits); 40 | uint32_t bitstream_flush(struct bitstream* bitstream); 41 | 42 | 43 | #endif 44 | -------------------------------------------------------------------------------- /libretro/deps/libchdr/include/libchdr/chdconfig.h: -------------------------------------------------------------------------------- 1 | #ifndef __CHDCONFIG_H__ 2 | #define __CHDCONFIG_H__ 3 | 4 | /* Configure CHDR features here */ 5 | #define WANT_RAW_DATA_SECTOR 1 6 | #define WANT_SUBCODE 1 7 | #define NEED_CACHE_HUNK 1 8 | #define VERIFY_BLOCK_CRC 1 9 | 10 | #endif 11 | -------------------------------------------------------------------------------- /libretro/deps/libchdr/include/libchdr/coretypes.h: -------------------------------------------------------------------------------- 1 | #ifndef __CORETYPES_H__ 2 | #define __CORETYPES_H__ 3 | 4 | #include 5 | #include 6 | 7 | #ifdef USE_LIBRETRO_VFS 8 | #include 9 | #endif 10 | 11 | #define ARRAY_LENGTH(x) (sizeof(x)/sizeof(x[0])) 12 | 13 | typedef uint64_t UINT64; 14 | typedef uint32_t UINT32; 15 | typedef uint16_t UINT16; 16 | typedef uint8_t UINT8; 17 | 18 | typedef int64_t INT64; 19 | typedef int32_t INT32; 20 | typedef int16_t INT16; 21 | typedef int8_t INT8; 22 | 23 | #ifdef USE_LIBRETRO_VFS 24 | /* Genesis-Plus-GX requires custom defines */ 25 | #define core_file RFILE 26 | #define core_fopen(file) rfopen(file, "rb") 27 | #define core_fseek rfseek 28 | #define core_ftell rftell 29 | #define core_fread(fc, buff, len) rfread(buff, 1, len, fc) 30 | #define core_fclose rfclose 31 | #else 32 | #define core_file FILE 33 | #define core_fopen(file) fopen(file, "rb") 34 | #if defined(__WIN32__) || defined(_WIN32) || defined(WIN32) || defined(__WIN64__) 35 | #define core_fseek _fseeki64 36 | #define core_ftell _ftelli64 37 | #elif defined(_LARGEFILE_SOURCE) && defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64 38 | #define core_fseek fseeko64 39 | #define core_ftell ftello64 40 | #else 41 | #define core_fseek fseeko 42 | #define core_ftell ftello 43 | #endif 44 | #define core_fread(fc, buff, len) fread(buff, 1, len, fc) 45 | #define core_fclose fclose 46 | #endif 47 | 48 | static UINT64 core_fsize(core_file *f) 49 | { 50 | UINT64 rv; 51 | UINT64 p = core_ftell(f); 52 | core_fseek(f, 0, SEEK_END); 53 | rv = core_ftell(f); 54 | core_fseek(f, p, SEEK_SET); 55 | return rv; 56 | } 57 | 58 | #endif 59 | -------------------------------------------------------------------------------- /libretro/deps/libchdr/include/libchdr/flac.h: -------------------------------------------------------------------------------- 1 | /* license:BSD-3-Clause 2 | * copyright-holders:Aaron Giles 3 | *************************************************************************** 4 | 5 | flac.h 6 | 7 | FLAC compression wrappers 8 | 9 | ***************************************************************************/ 10 | 11 | #pragma once 12 | 13 | #ifndef __FLAC_H__ 14 | #define __FLAC_H__ 15 | 16 | #include 17 | 18 | /*************************************************************************** 19 | * TYPE DEFINITIONS 20 | *************************************************************************** 21 | */ 22 | 23 | typedef struct _flac_decoder flac_decoder; 24 | struct _flac_decoder { 25 | /* output state */ 26 | void * decoder; /* actual encoder */ 27 | uint32_t sample_rate; /* decoded sample rate */ 28 | uint8_t channels; /* decoded number of channels */ 29 | uint8_t bits_per_sample; /* decoded bits per sample */ 30 | uint32_t compressed_offset; /* current offset in compressed data */ 31 | const uint8_t * compressed_start; /* start of compressed data */ 32 | uint32_t compressed_length; /* length of compressed data */ 33 | const uint8_t * compressed2_start; /* start of compressed data */ 34 | uint32_t compressed2_length; /* length of compressed data */ 35 | int16_t * uncompressed_start[8]; /* pointer to start of uncompressed data (up to 8 streams) */ 36 | uint32_t uncompressed_offset; /* current position in uncompressed data */ 37 | uint32_t uncompressed_length; /* length of uncompressed data */ 38 | int uncompressed_swap; /* swap uncompressed sample data */ 39 | uint8_t custom_header[0x2a]; /* custom header */ 40 | }; 41 | 42 | /* ======================> flac_decoder */ 43 | 44 | int flac_decoder_init(flac_decoder* decoder); 45 | void flac_decoder_free(flac_decoder* decoder); 46 | int flac_decoder_reset(flac_decoder* decoder, uint32_t sample_rate, uint8_t num_channels, uint32_t block_size, const void *buffer, uint32_t length); 47 | int flac_decoder_decode_interleaved(flac_decoder* decoder, int16_t *samples, uint32_t num_samples, int swap_endian); 48 | uint32_t flac_decoder_finish(flac_decoder* decoder); 49 | 50 | #endif /* __FLAC_H__ */ 51 | -------------------------------------------------------------------------------- /libretro/deps/libchdr/src/link.T: -------------------------------------------------------------------------------- 1 | { 2 | global: chd_*; 3 | local: *; 4 | }; 5 | 6 | -------------------------------------------------------------------------------- /libretro/deps/lzma-19.00/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(lzma STATIC 2 | include/7zTypes.h 3 | include/Alloc.h 4 | include/Bra.h 5 | include/Compiler.h 6 | include/CpuArch.h 7 | include/Delta.h 8 | include/LzFind.h 9 | include/LzHash.h 10 | include/Lzma86.h 11 | include/LzmaDec.h 12 | include/LzmaEnc.h 13 | include/LzmaLib.h 14 | include/Precomp.h 15 | include/Sort.h 16 | src/Alloc.c 17 | src/Bra86.c 18 | src/BraIA64.c 19 | src/CpuArch.c 20 | src/Delta.c 21 | src/LzFind.c 22 | src/Lzma86Dec.c 23 | src/LzmaDec.c 24 | src/LzmaEnc.c 25 | src/Sort.c 26 | ) 27 | 28 | target_compile_definitions(lzma PRIVATE _7ZIP_ST) 29 | 30 | target_include_directories(lzma PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/include") 31 | target_include_directories(lzma INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}/include") 32 | 33 | -------------------------------------------------------------------------------- /libretro/deps/lzma-19.00/LICENSE: -------------------------------------------------------------------------------- 1 | LZMA SDK is placed in the public domain. 2 | 3 | Anyone is free to copy, modify, publish, use, compile, sell, or distribute the original LZMA SDK code, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means. -------------------------------------------------------------------------------- /libretro/deps/lzma-19.00/include/Alloc.h: -------------------------------------------------------------------------------- 1 | /* Alloc.h -- Memory allocation functions 2 | 2018-02-19 : Igor Pavlov : Public domain */ 3 | 4 | #ifndef __COMMON_ALLOC_H 5 | #define __COMMON_ALLOC_H 6 | 7 | #include "7zTypes.h" 8 | 9 | EXTERN_C_BEGIN 10 | 11 | void *MyAlloc(size_t size); 12 | void MyFree(void *address); 13 | 14 | #ifdef _WIN32 15 | 16 | void SetLargePageSize(); 17 | 18 | void *MidAlloc(size_t size); 19 | void MidFree(void *address); 20 | void *BigAlloc(size_t size); 21 | void BigFree(void *address); 22 | 23 | #else 24 | 25 | #define MidAlloc(size) MyAlloc(size) 26 | #define MidFree(address) MyFree(address) 27 | #define BigAlloc(size) MyAlloc(size) 28 | #define BigFree(address) MyFree(address) 29 | 30 | #endif 31 | 32 | extern const ISzAlloc g_Alloc; 33 | extern const ISzAlloc g_BigAlloc; 34 | extern const ISzAlloc g_MidAlloc; 35 | extern const ISzAlloc g_AlignedAlloc; 36 | 37 | 38 | typedef struct 39 | { 40 | ISzAlloc vt; 41 | ISzAllocPtr baseAlloc; 42 | unsigned numAlignBits; /* ((1 << numAlignBits) >= sizeof(void *)) */ 43 | size_t offset; /* (offset == (k * sizeof(void *)) && offset < (1 << numAlignBits) */ 44 | } CAlignOffsetAlloc; 45 | 46 | void AlignOffsetAlloc_CreateVTable(CAlignOffsetAlloc *p); 47 | 48 | 49 | EXTERN_C_END 50 | 51 | #endif 52 | -------------------------------------------------------------------------------- /libretro/deps/lzma-19.00/include/Bra.h: -------------------------------------------------------------------------------- 1 | /* Bra.h -- Branch converters for executables 2 | 2013-01-18 : Igor Pavlov : Public domain */ 3 | 4 | #ifndef __BRA_H 5 | #define __BRA_H 6 | 7 | #include "7zTypes.h" 8 | 9 | EXTERN_C_BEGIN 10 | 11 | /* 12 | These functions convert relative addresses to absolute addresses 13 | in CALL instructions to increase the compression ratio. 14 | 15 | In: 16 | data - data buffer 17 | size - size of data 18 | ip - current virtual Instruction Pinter (IP) value 19 | state - state variable for x86 converter 20 | encoding - 0 (for decoding), 1 (for encoding) 21 | 22 | Out: 23 | state - state variable for x86 converter 24 | 25 | Returns: 26 | The number of processed bytes. If you call these functions with multiple calls, 27 | you must start next call with first byte after block of processed bytes. 28 | 29 | Type Endian Alignment LookAhead 30 | 31 | x86 little 1 4 32 | ARMT little 2 2 33 | ARM little 4 0 34 | PPC big 4 0 35 | SPARC big 4 0 36 | IA64 little 16 0 37 | 38 | size must be >= Alignment + LookAhead, if it's not last block. 39 | If (size < Alignment + LookAhead), converter returns 0. 40 | 41 | Example: 42 | 43 | UInt32 ip = 0; 44 | for () 45 | { 46 | ; size must be >= Alignment + LookAhead, if it's not last block 47 | SizeT processed = Convert(data, size, ip, 1); 48 | data += processed; 49 | size -= processed; 50 | ip += processed; 51 | } 52 | */ 53 | 54 | #define x86_Convert_Init(state) { state = 0; } 55 | SizeT x86_Convert(Byte *data, SizeT size, UInt32 ip, UInt32 *state, int encoding); 56 | SizeT ARM_Convert(Byte *data, SizeT size, UInt32 ip, int encoding); 57 | SizeT ARMT_Convert(Byte *data, SizeT size, UInt32 ip, int encoding); 58 | SizeT PPC_Convert(Byte *data, SizeT size, UInt32 ip, int encoding); 59 | SizeT SPARC_Convert(Byte *data, SizeT size, UInt32 ip, int encoding); 60 | SizeT IA64_Convert(Byte *data, SizeT size, UInt32 ip, int encoding); 61 | 62 | EXTERN_C_END 63 | 64 | #endif 65 | -------------------------------------------------------------------------------- /libretro/deps/lzma-19.00/include/Compiler.h: -------------------------------------------------------------------------------- 1 | /* Compiler.h 2 | 2017-04-03 : Igor Pavlov : Public domain */ 3 | 4 | #ifndef __7Z_COMPILER_H 5 | #define __7Z_COMPILER_H 6 | 7 | #ifdef _MSC_VER 8 | 9 | #ifdef UNDER_CE 10 | #define RPC_NO_WINDOWS_H 11 | /* #pragma warning(disable : 4115) // '_RPC_ASYNC_STATE' : named type definition in parentheses */ 12 | #pragma warning(disable : 4201) // nonstandard extension used : nameless struct/union 13 | #pragma warning(disable : 4214) // nonstandard extension used : bit field types other than int 14 | #endif 15 | 16 | #if _MSC_VER >= 1300 17 | #pragma warning(disable : 4996) // This function or variable may be unsafe 18 | #else 19 | #pragma warning(disable : 4511) // copy constructor could not be generated 20 | #pragma warning(disable : 4512) // assignment operator could not be generated 21 | #pragma warning(disable : 4514) // unreferenced inline function has been removed 22 | #pragma warning(disable : 4702) // unreachable code 23 | #pragma warning(disable : 4710) // not inlined 24 | #pragma warning(disable : 4714) // function marked as __forceinline not inlined 25 | #pragma warning(disable : 4786) // identifier was truncated to '255' characters in the debug information 26 | #endif 27 | 28 | #endif 29 | 30 | #define UNUSED_VAR(x) (void)x; 31 | /* #define UNUSED_VAR(x) x=x; */ 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /libretro/deps/lzma-19.00/include/Delta.h: -------------------------------------------------------------------------------- 1 | /* Delta.h -- Delta converter 2 | 2013-01-18 : Igor Pavlov : Public domain */ 3 | 4 | #ifndef __DELTA_H 5 | #define __DELTA_H 6 | 7 | #include "7zTypes.h" 8 | 9 | EXTERN_C_BEGIN 10 | 11 | #define DELTA_STATE_SIZE 256 12 | 13 | void Delta_Init(Byte *state); 14 | void Delta_Encode(Byte *state, unsigned delta, Byte *data, SizeT size); 15 | void Delta_Decode(Byte *state, unsigned delta, Byte *data, SizeT size); 16 | 17 | EXTERN_C_END 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /libretro/deps/lzma-19.00/include/LzHash.h: -------------------------------------------------------------------------------- 1 | /* LzHash.h -- HASH functions for LZ algorithms 2 | 2015-04-12 : Igor Pavlov : Public domain */ 3 | 4 | #ifndef __LZ_HASH_H 5 | #define __LZ_HASH_H 6 | 7 | #define kHash2Size (1 << 10) 8 | #define kHash3Size (1 << 16) 9 | #define kHash4Size (1 << 20) 10 | 11 | #define kFix3HashSize (kHash2Size) 12 | #define kFix4HashSize (kHash2Size + kHash3Size) 13 | #define kFix5HashSize (kHash2Size + kHash3Size + kHash4Size) 14 | 15 | #define HASH2_CALC hv = cur[0] | ((UInt32)cur[1] << 8); 16 | 17 | #define HASH3_CALC { \ 18 | UInt32 temp = p->crc[cur[0]] ^ cur[1]; \ 19 | h2 = temp & (kHash2Size - 1); \ 20 | hv = (temp ^ ((UInt32)cur[2] << 8)) & p->hashMask; } 21 | 22 | #define HASH4_CALC { \ 23 | UInt32 temp = p->crc[cur[0]] ^ cur[1]; \ 24 | h2 = temp & (kHash2Size - 1); \ 25 | temp ^= ((UInt32)cur[2] << 8); \ 26 | h3 = temp & (kHash3Size - 1); \ 27 | hv = (temp ^ (p->crc[cur[3]] << 5)) & p->hashMask; } 28 | 29 | #define HASH5_CALC { \ 30 | UInt32 temp = p->crc[cur[0]] ^ cur[1]; \ 31 | h2 = temp & (kHash2Size - 1); \ 32 | temp ^= ((UInt32)cur[2] << 8); \ 33 | h3 = temp & (kHash3Size - 1); \ 34 | temp ^= (p->crc[cur[3]] << 5); \ 35 | h4 = temp & (kHash4Size - 1); \ 36 | hv = (temp ^ (p->crc[cur[4]] << 3)) & p->hashMask; } 37 | 38 | /* #define HASH_ZIP_CALC hv = ((cur[0] | ((UInt32)cur[1] << 8)) ^ p->crc[cur[2]]) & 0xFFFF; */ 39 | #define HASH_ZIP_CALC hv = ((cur[2] | ((UInt32)cur[0] << 8)) ^ p->crc[cur[1]]) & 0xFFFF; 40 | 41 | 42 | #define MT_HASH2_CALC \ 43 | h2 = (p->crc[cur[0]] ^ cur[1]) & (kHash2Size - 1); 44 | 45 | #define MT_HASH3_CALC { \ 46 | UInt32 temp = p->crc[cur[0]] ^ cur[1]; \ 47 | h2 = temp & (kHash2Size - 1); \ 48 | h3 = (temp ^ ((UInt32)cur[2] << 8)) & (kHash3Size - 1); } 49 | 50 | #define MT_HASH4_CALC { \ 51 | UInt32 temp = p->crc[cur[0]] ^ cur[1]; \ 52 | h2 = temp & (kHash2Size - 1); \ 53 | temp ^= ((UInt32)cur[2] << 8); \ 54 | h3 = temp & (kHash3Size - 1); \ 55 | h4 = (temp ^ (p->crc[cur[3]] << 5)) & (kHash4Size - 1); } 56 | 57 | #endif 58 | -------------------------------------------------------------------------------- /libretro/deps/lzma-19.00/include/Precomp.h: -------------------------------------------------------------------------------- 1 | /* Precomp.h -- StdAfx 2 | 2013-11-12 : Igor Pavlov : Public domain */ 3 | 4 | #ifndef __7Z_PRECOMP_H 5 | #define __7Z_PRECOMP_H 6 | 7 | #include "Compiler.h" 8 | /* #include "7zTypes.h" */ 9 | 10 | #endif 11 | -------------------------------------------------------------------------------- /libretro/deps/lzma-19.00/include/Sort.h: -------------------------------------------------------------------------------- 1 | /* Sort.h -- Sort functions 2 | 2014-04-05 : Igor Pavlov : Public domain */ 3 | 4 | #ifndef __7Z_SORT_H 5 | #define __7Z_SORT_H 6 | 7 | #include "7zTypes.h" 8 | 9 | EXTERN_C_BEGIN 10 | 11 | void HeapSort(UInt32 *p, size_t size); 12 | void HeapSort64(UInt64 *p, size_t size); 13 | 14 | /* void HeapSortRef(UInt32 *p, UInt32 *vals, size_t size); */ 15 | 16 | EXTERN_C_END 17 | 18 | #endif 19 | -------------------------------------------------------------------------------- /libretro/deps/lzma-19.00/lzma-history.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/libretro/deps/lzma-19.00/lzma-history.txt -------------------------------------------------------------------------------- /libretro/deps/lzma-19.00/lzma.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /libretro/deps/lzma-19.00/src/Bra86.c: -------------------------------------------------------------------------------- 1 | /* Bra86.c -- Converter for x86 code (BCJ) 2 | 2017-04-03 : Igor Pavlov : Public domain */ 3 | 4 | #include "Precomp.h" 5 | 6 | #include "Bra.h" 7 | 8 | #define Test86MSByte(b) ((((b) + 1) & 0xFE) == 0) 9 | 10 | SizeT x86_Convert(Byte *data, SizeT size, UInt32 ip, UInt32 *state, int encoding) 11 | { 12 | SizeT pos = 0; 13 | UInt32 mask = *state & 7; 14 | if (size < 5) 15 | return 0; 16 | size -= 4; 17 | ip += 5; 18 | 19 | for (;;) 20 | { 21 | Byte *p = data + pos; 22 | const Byte *limit = data + size; 23 | for (; p < limit; p++) 24 | if ((*p & 0xFE) == 0xE8) 25 | break; 26 | 27 | { 28 | SizeT d = (SizeT)(p - data - pos); 29 | pos = (SizeT)(p - data); 30 | if (p >= limit) 31 | { 32 | *state = (d > 2 ? 0 : mask >> (unsigned)d); 33 | return pos; 34 | } 35 | if (d > 2) 36 | mask = 0; 37 | else 38 | { 39 | mask >>= (unsigned)d; 40 | if (mask != 0 && (mask > 4 || mask == 3 || Test86MSByte(p[(size_t)(mask >> 1) + 1]))) 41 | { 42 | mask = (mask >> 1) | 4; 43 | pos++; 44 | continue; 45 | } 46 | } 47 | } 48 | 49 | if (Test86MSByte(p[4])) 50 | { 51 | UInt32 v = ((UInt32)p[4] << 24) | ((UInt32)p[3] << 16) | ((UInt32)p[2] << 8) | ((UInt32)p[1]); 52 | UInt32 cur = ip + (UInt32)pos; 53 | pos += 5; 54 | if (encoding) 55 | v += cur; 56 | else 57 | v -= cur; 58 | if (mask != 0) 59 | { 60 | unsigned sh = (mask & 6) << 2; 61 | if (Test86MSByte((Byte)(v >> sh))) 62 | { 63 | v ^= (((UInt32)0x100 << sh) - 1); 64 | if (encoding) 65 | v += cur; 66 | else 67 | v -= cur; 68 | } 69 | mask = 0; 70 | } 71 | p[1] = (Byte)v; 72 | p[2] = (Byte)(v >> 8); 73 | p[3] = (Byte)(v >> 16); 74 | p[4] = (Byte)(0 - ((v >> 24) & 1)); 75 | } 76 | else 77 | { 78 | mask = (mask >> 1) | 4; 79 | pos++; 80 | } 81 | } 82 | } 83 | -------------------------------------------------------------------------------- /libretro/deps/lzma-19.00/src/BraIA64.c: -------------------------------------------------------------------------------- 1 | /* BraIA64.c -- Converter for IA-64 code 2 | 2017-01-26 : Igor Pavlov : Public domain */ 3 | 4 | #include "Precomp.h" 5 | 6 | #include "CpuArch.h" 7 | #include "Bra.h" 8 | 9 | SizeT IA64_Convert(Byte *data, SizeT size, UInt32 ip, int encoding) 10 | { 11 | SizeT i; 12 | if (size < 16) 13 | return 0; 14 | size -= 16; 15 | i = 0; 16 | do 17 | { 18 | unsigned m = ((UInt32)0x334B0000 >> (data[i] & 0x1E)) & 3; 19 | if (m) 20 | { 21 | m++; 22 | do 23 | { 24 | Byte *p = data + (i + (size_t)m * 5 - 8); 25 | if (((p[3] >> m) & 15) == 5 26 | && (((p[-1] | ((UInt32)p[0] << 8)) >> m) & 0x70) == 0) 27 | { 28 | unsigned raw = GetUi32(p); 29 | unsigned v = raw >> m; 30 | v = (v & 0xFFFFF) | ((v & (1 << 23)) >> 3); 31 | 32 | v <<= 4; 33 | if (encoding) 34 | v += ip + (UInt32)i; 35 | else 36 | v -= ip + (UInt32)i; 37 | v >>= 4; 38 | 39 | v &= 0x1FFFFF; 40 | v += 0x700000; 41 | v &= 0x8FFFFF; 42 | raw &= ~((UInt32)0x8FFFFF << m); 43 | raw |= (v << m); 44 | SetUi32(p, raw); 45 | } 46 | } 47 | while (++m <= 4); 48 | } 49 | i += 16; 50 | } 51 | while (i <= size); 52 | return i; 53 | } 54 | -------------------------------------------------------------------------------- /libretro/deps/lzma-19.00/src/Delta.c: -------------------------------------------------------------------------------- 1 | /* Delta.c -- Delta converter 2 | 2009-05-26 : Igor Pavlov : Public domain */ 3 | 4 | #include "Precomp.h" 5 | 6 | #include "Delta.h" 7 | 8 | void Delta_Init(Byte *state) 9 | { 10 | unsigned i; 11 | for (i = 0; i < DELTA_STATE_SIZE; i++) 12 | state[i] = 0; 13 | } 14 | 15 | static void MyMemCpy(Byte *dest, const Byte *src, unsigned size) 16 | { 17 | unsigned i; 18 | for (i = 0; i < size; i++) 19 | dest[i] = src[i]; 20 | } 21 | 22 | void Delta_Encode(Byte *state, unsigned delta, Byte *data, SizeT size) 23 | { 24 | Byte buf[DELTA_STATE_SIZE]; 25 | unsigned j = 0; 26 | MyMemCpy(buf, state, delta); 27 | { 28 | SizeT i; 29 | for (i = 0; i < size;) 30 | { 31 | for (j = 0; j < delta && i < size; i++, j++) 32 | { 33 | Byte b = data[i]; 34 | data[i] = (Byte)(b - buf[j]); 35 | buf[j] = b; 36 | } 37 | } 38 | } 39 | if (j == delta) 40 | j = 0; 41 | MyMemCpy(state, buf + j, delta - j); 42 | MyMemCpy(state + delta - j, buf, j); 43 | } 44 | 45 | void Delta_Decode(Byte *state, unsigned delta, Byte *data, SizeT size) 46 | { 47 | Byte buf[DELTA_STATE_SIZE]; 48 | unsigned j = 0; 49 | MyMemCpy(buf, state, delta); 50 | { 51 | SizeT i; 52 | for (i = 0; i < size;) 53 | { 54 | for (j = 0; j < delta && i < size; i++, j++) 55 | { 56 | buf[j] = data[i] = (Byte)(buf[j] + data[i]); 57 | } 58 | } 59 | } 60 | if (j == delta) 61 | j = 0; 62 | MyMemCpy(state, buf + j, delta - j); 63 | MyMemCpy(state + delta - j, buf, j); 64 | } 65 | -------------------------------------------------------------------------------- /libretro/deps/lzma-19.00/src/Lzma86Dec.c: -------------------------------------------------------------------------------- 1 | /* Lzma86Dec.c -- LZMA + x86 (BCJ) Filter Decoder 2 | 2016-05-16 : Igor Pavlov : Public domain */ 3 | 4 | #include "Precomp.h" 5 | 6 | #include "Lzma86.h" 7 | 8 | #include "Alloc.h" 9 | #include "Bra.h" 10 | #include "LzmaDec.h" 11 | 12 | SRes Lzma86_GetUnpackSize(const Byte *src, SizeT srcLen, UInt64 *unpackSize) 13 | { 14 | unsigned i; 15 | if (srcLen < LZMA86_HEADER_SIZE) 16 | return SZ_ERROR_INPUT_EOF; 17 | *unpackSize = 0; 18 | for (i = 0; i < sizeof(UInt64); i++) 19 | *unpackSize += ((UInt64)src[LZMA86_SIZE_OFFSET + i]) << (8 * i); 20 | return SZ_OK; 21 | } 22 | 23 | SRes Lzma86_Decode(Byte *dest, SizeT *destLen, const Byte *src, SizeT *srcLen) 24 | { 25 | SRes res; 26 | int useFilter; 27 | SizeT inSizePure; 28 | ELzmaStatus status; 29 | 30 | if (*srcLen < LZMA86_HEADER_SIZE) 31 | return SZ_ERROR_INPUT_EOF; 32 | 33 | useFilter = src[0]; 34 | 35 | if (useFilter > 1) 36 | { 37 | *destLen = 0; 38 | return SZ_ERROR_UNSUPPORTED; 39 | } 40 | 41 | inSizePure = *srcLen - LZMA86_HEADER_SIZE; 42 | res = LzmaDecode(dest, destLen, src + LZMA86_HEADER_SIZE, &inSizePure, 43 | src + 1, LZMA_PROPS_SIZE, LZMA_FINISH_ANY, &status, &g_Alloc); 44 | *srcLen = inSizePure + LZMA86_HEADER_SIZE; 45 | if (res != SZ_OK) 46 | return res; 47 | if (useFilter == 1) 48 | { 49 | UInt32 x86State; 50 | x86_Convert_Init(x86State); 51 | x86_Convert(dest, *destLen, 0, &x86State, 0); 52 | } 53 | return SZ_OK; 54 | } 55 | -------------------------------------------------------------------------------- /libretro/deps/zlib-1.2.11/inffast.h: -------------------------------------------------------------------------------- 1 | /* inffast.h -- header to use inffast.c 2 | * Copyright (C) 1995-2003, 2010 Mark Adler 3 | * For conditions of distribution and use, see copyright notice in zlib.h 4 | */ 5 | 6 | /* WARNING: this file should *not* be used by applications. It is 7 | part of the implementation of the compression library and is 8 | subject to change. Applications should only use zlib.h. 9 | */ 10 | 11 | void ZLIB_INTERNAL inflate_fast OF((z_streamp strm, unsigned start)); 12 | -------------------------------------------------------------------------------- /libretro/jni/Android.mk: -------------------------------------------------------------------------------- 1 | LOCAL_PATH := $(call my-dir) 2 | 3 | CORE_DIR := $(LOCAL_PATH)/../.. 4 | TREMOR_SRC_DIR := $(CORE_DIR)/core/tremor 5 | 6 | SOURCES_C := 7 | WANT_CRC32 := 1 8 | HAVE_CHD := 1 9 | USE_PER_SOUND_CHANNELS_CONFIG := 1 10 | 11 | include $(CORE_DIR)/libretro/Makefile.common 12 | 13 | COREFLAGS := -ffast-math -funroll-loops -DINLINE="static inline" -DUSE_LIBTREMOR -DUSE_16BPP_RENDERING -DLSB_FIRST -DBYTE_ORDER=LITTLE_ENDIAN -D__LIBRETRO__ -DFRONTEND_SUPPORTS_RGB565 -DALIGN_LONG -DALIGN_WORD -DM68K_OVERCLOCK_SHIFT=20 -DZ80_OVERCLOCK_SHIFT=20 -DHAVE_YM3438_CORE -DUSE_LIBCHDR -D_7ZIP_ST -DUSE_LIBRETRO_VFS -DHAVE_OPLL_CORE -DUSE_PER_SOUND_CHANNELS_CONFIG $(INCFLAGS) -DMAXROMSIZE=16777216 14 | 15 | ifeq ($(TARGET_ARCH),arm) 16 | COREFLAGS += -D_ARM_ASSEM_ 17 | endif 18 | 19 | GIT_VERSION := " $(shell git rev-parse --short HEAD || echo unknown)" 20 | ifneq ($(GIT_VERSION)," unknown") 21 | COREFLAGS += -DGIT_VERSION=\"$(GIT_VERSION)\" 22 | endif 23 | 24 | include $(CLEAR_VARS) 25 | LOCAL_MODULE := retro 26 | LOCAL_SRC_FILES := $(SOURCES_C) 27 | LOCAL_CFLAGS := $(COREFLAGS) 28 | LOCAL_LDFLAGS := -Wl,-version-script=$(LIBRETRO_DIR)/link.T 29 | LOCAL_ARM_MODE := arm 30 | include $(BUILD_SHARED_LIBRARY) 31 | -------------------------------------------------------------------------------- /libretro/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_ABI := all 2 | -------------------------------------------------------------------------------- /libretro/libretro-common/compat/compat_strcasestr.c: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2010-2018 The RetroArch team 2 | * 3 | * --------------------------------------------------------------------------------------- 4 | * The following license statement only applies to this file (compat_strcasestr.c). 5 | * --------------------------------------------------------------------------------------- 6 | * 7 | * Permission is hereby granted, free of charge, 8 | * to any person obtaining a copy of this software and associated documentation files (the "Software"), 9 | * to deal in the Software without restriction, including without limitation the rights to 10 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, 11 | * and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 16 | * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 18 | * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 19 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | */ 22 | 23 | #include 24 | 25 | #include 26 | 27 | /* Pretty much strncasecmp. */ 28 | static int casencmp(const char *a, const char *b, size_t n) 29 | { 30 | size_t i; 31 | 32 | for (i = 0; i < n; i++) 33 | { 34 | int a_lower = tolower(a[i]); 35 | int b_lower = tolower(b[i]); 36 | if (a_lower != b_lower) 37 | return a_lower - b_lower; 38 | } 39 | 40 | return 0; 41 | } 42 | 43 | char *strcasestr_retro__(const char *haystack, const char *needle) 44 | { 45 | size_t i, search_off; 46 | size_t hay_len = strlen(haystack); 47 | size_t needle_len = strlen(needle); 48 | 49 | if (needle_len > hay_len) 50 | return NULL; 51 | 52 | search_off = hay_len - needle_len; 53 | for (i = 0; i <= search_off; i++) 54 | if (!casencmp(haystack + i, needle, needle_len)) 55 | return (char*)haystack + i; 56 | 57 | return NULL; 58 | } 59 | -------------------------------------------------------------------------------- /libretro/libretro-common/compat/compat_strl.c: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2010-2018 The RetroArch team 2 | * 3 | * --------------------------------------------------------------------------------------- 4 | * The following license statement only applies to this file (compat_strl.c). 5 | * --------------------------------------------------------------------------------------- 6 | * 7 | * Permission is hereby granted, free of charge, 8 | * to any person obtaining a copy of this software and associated documentation files (the "Software"), 9 | * to deal in the Software without restriction, including without limitation the rights to 10 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, 11 | * and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 16 | * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 18 | * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 19 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | */ 22 | 23 | #include 24 | #include 25 | 26 | #include 27 | 28 | /* Implementation of strlcpy()/strlcat() based on OpenBSD. */ 29 | 30 | #ifndef __MACH__ 31 | 32 | size_t strlcpy(char *dest, const char *source, size_t size) 33 | { 34 | size_t src_size = 0; 35 | size_t n = size; 36 | 37 | if (n) 38 | while (--n && (*dest++ = *source++)) src_size++; 39 | 40 | if (!n) 41 | { 42 | if (size) *dest = '\0'; 43 | while (*source++) src_size++; 44 | } 45 | 46 | return src_size; 47 | } 48 | 49 | size_t strlcat(char *dest, const char *source, size_t size) 50 | { 51 | size_t len = strlen(dest); 52 | 53 | dest += len; 54 | 55 | if (len > size) 56 | size = 0; 57 | else 58 | size -= len; 59 | 60 | return len + strlcpy(dest, source, size); 61 | } 62 | #endif 63 | 64 | char *strldup(const char *s, size_t n) 65 | { 66 | char *dst = (char*)malloc(sizeof(char) * (n + 1)); 67 | strlcpy(dst, s, n); 68 | return dst; 69 | } 70 | -------------------------------------------------------------------------------- /libretro/libretro-common/compat/fopen_utf8.c: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2010-2018 The RetroArch team 2 | * 3 | * --------------------------------------------------------------------------------------- 4 | * The following license statement only applies to this file (fopen_utf8.c). 5 | * --------------------------------------------------------------------------------------- 6 | * 7 | * Permission is hereby granted, free of charge, 8 | * to any person obtaining a copy of this software and associated documentation files (the "Software"), 9 | * to deal in the Software without restriction, including without limitation the rights to 10 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, 11 | * and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 16 | * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 18 | * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 19 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | */ 22 | 23 | #include 24 | #include 25 | #include 26 | #include 27 | 28 | #if defined(_WIN32_WINNT) && _WIN32_WINNT < 0x0500 || defined(_XBOX) 29 | #ifndef LEGACY_WIN32 30 | #define LEGACY_WIN32 31 | #endif 32 | #endif 33 | 34 | #ifdef _WIN32 35 | #undef fopen 36 | 37 | void *fopen_utf8(const char * filename, const char * mode) 38 | { 39 | #if defined(_XBOX) 40 | return fopen(filename, mode); 41 | #elif defined(LEGACY_WIN32) 42 | FILE *ret = NULL; 43 | char * filename_local = utf8_to_local_string_alloc(filename); 44 | 45 | if (!filename_local) 46 | return NULL; 47 | ret = fopen(filename_local, mode); 48 | if (filename_local) 49 | free(filename_local); 50 | return ret; 51 | #else 52 | wchar_t * filename_w = utf8_to_utf16_string_alloc(filename); 53 | wchar_t * mode_w = utf8_to_utf16_string_alloc(mode); 54 | FILE* ret = _wfopen(filename_w, mode_w); 55 | free(filename_w); 56 | free(mode_w); 57 | return ret; 58 | #endif 59 | } 60 | #endif 61 | -------------------------------------------------------------------------------- /libretro/libretro-common/include/boolean.h: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2010-2018 The RetroArch team 2 | * 3 | * --------------------------------------------------------------------------------------- 4 | * The following license statement only applies to this file (boolean.h). 5 | * --------------------------------------------------------------------------------------- 6 | * 7 | * Permission is hereby granted, free of charge, 8 | * to any person obtaining a copy of this software and associated documentation files (the "Software"), 9 | * to deal in the Software without restriction, including without limitation the rights to 10 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, 11 | * and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 16 | * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 18 | * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 19 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | */ 22 | 23 | #ifndef __LIBRETRO_SDK_BOOLEAN_H 24 | #define __LIBRETRO_SDK_BOOLEAN_H 25 | 26 | #ifndef __cplusplus 27 | 28 | #if defined(_MSC_VER) && _MSC_VER < 1800 && !defined(SN_TARGET_PS3) 29 | /* Hack applied for MSVC when compiling in C89 mode as it isn't C99 compliant. */ 30 | #define bool unsigned char 31 | #define true 1 32 | #define false 0 33 | #else 34 | #include 35 | #endif 36 | 37 | #endif 38 | 39 | #endif 40 | -------------------------------------------------------------------------------- /libretro/libretro-common/include/compat/fnmatch.h: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2010-2018 The RetroArch team 2 | * 3 | * --------------------------------------------------------------------------------------- 4 | * The following license statement only applies to this file (fnmatch.h). 5 | * --------------------------------------------------------------------------------------- 6 | * 7 | * Permission is hereby granted, free of charge, 8 | * to any person obtaining a copy of this software and associated documentation files (the "Software"), 9 | * to deal in the Software without restriction, including without limitation the rights to 10 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, 11 | * and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 16 | * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 18 | * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 19 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | */ 22 | 23 | #ifndef __LIBRETRO_SDK_COMPAT_FNMATCH_H__ 24 | #define __LIBRETRO_SDK_COMPAT_FNMATCH_H__ 25 | 26 | #define FNM_NOMATCH 1 27 | 28 | int rl_fnmatch(const char *pattern, const char *string, int flags); 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /libretro/libretro-common/include/compat/fopen_utf8.h: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2010-2018 The RetroArch team 2 | * 3 | * --------------------------------------------------------------------------------------- 4 | * The following license statement only applies to this file (fopen_utf8.h). 5 | * --------------------------------------------------------------------------------------- 6 | * 7 | * Permission is hereby granted, free of charge, 8 | * to any person obtaining a copy of this software and associated documentation files (the "Software"), 9 | * to deal in the Software without restriction, including without limitation the rights to 10 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, 11 | * and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 16 | * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 18 | * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 19 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | */ 22 | 23 | #ifndef __LIBRETRO_SDK_COMPAT_FOPEN_UTF8_H 24 | #define __LIBRETRO_SDK_COMPAT_FOPEN_UTF8_H 25 | 26 | #ifdef _WIN32 27 | /* Defined to error rather than fopen_utf8, to make it clear to everyone reading the code that not worrying about utf16 is fine */ 28 | /* TODO: enable */ 29 | /* #define fopen (use fopen_utf8 instead) */ 30 | void *fopen_utf8(const char * filename, const char * mode); 31 | #else 32 | #define fopen_utf8 fopen 33 | #endif 34 | #endif 35 | -------------------------------------------------------------------------------- /libretro/libretro-common/include/compat/ifaddrs.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 1995, 1999 3 | * Berkeley Software Design, Inc. All rights reserved. 4 | * 5 | * Redistribution and use in source and binary forms, with or without 6 | * modification, are permitted provided that the following conditions 7 | * are met: 8 | * 1. Redistributions of source code must retain the above copyright 9 | * notice, this list of conditions and the following disclaimer. 10 | * 11 | * THIS SOFTWARE IS PROVIDED BY Berkeley Software Design, Inc. ``AS IS'' AND 12 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 13 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 14 | * ARE DISCLAIMED. IN NO EVENT SHALL Berkeley Software Design, Inc. BE LIABLE 15 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 16 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 17 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 18 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 19 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 20 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 21 | * SUCH DAMAGE. 22 | * 23 | * BSDI ifaddrs.h,v 2.5 2000/02/23 14:51:59 dab Exp 24 | */ 25 | 26 | #ifndef _IFADDRS_H_ 27 | #define _IFADDRS_H_ 28 | 29 | struct ifaddrs 30 | { 31 | struct ifaddrs *ifa_next; 32 | char *ifa_name; 33 | unsigned int ifa_flags; 34 | struct sockaddr *ifa_addr; 35 | struct sockaddr *ifa_netmask; 36 | struct sockaddr *ifa_dstaddr; 37 | void *ifa_data; 38 | }; 39 | 40 | /* 41 | * This may have been defined in . Note that if is 42 | * to be included it must be included before this header file. 43 | */ 44 | #ifndef ifa_broadaddr 45 | #define ifa_broadaddr ifa_dstaddr /* broadcast address interface */ 46 | #endif 47 | 48 | #include 49 | 50 | extern int getifaddrs(struct ifaddrs **ifap); 51 | extern void freeifaddrs(struct ifaddrs *ifa); 52 | 53 | #endif 54 | -------------------------------------------------------------------------------- /libretro/libretro-common/include/compat/posix_string.h: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2010-2018 The RetroArch team 2 | * 3 | * --------------------------------------------------------------------------------------- 4 | * The following license statement only applies to this file (posix_string.h). 5 | * --------------------------------------------------------------------------------------- 6 | * 7 | * Permission is hereby granted, free of charge, 8 | * to any person obtaining a copy of this software and associated documentation files (the "Software"), 9 | * to deal in the Software without restriction, including without limitation the rights to 10 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, 11 | * and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 16 | * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 18 | * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 19 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | */ 22 | 23 | #ifndef __LIBRETRO_SDK_COMPAT_POSIX_STRING_H 24 | #define __LIBRETRO_SDK_COMPAT_POSIX_STRING_H 25 | 26 | #include 27 | 28 | #ifdef _MSC_VER 29 | #include 30 | #endif 31 | 32 | #if defined(PS2) 33 | #include 34 | #endif 35 | 36 | RETRO_BEGIN_DECLS 37 | 38 | #ifdef _WIN32 39 | #undef strtok_r 40 | #define strtok_r(str, delim, saveptr) retro_strtok_r__(str, delim, saveptr) 41 | 42 | char *strtok_r(char *str, const char *delim, char **saveptr); 43 | #endif 44 | 45 | #ifdef _MSC_VER 46 | #undef strcasecmp 47 | #undef strdup 48 | #define strcasecmp(a, b) retro_strcasecmp__(a, b) 49 | #define strdup(orig) retro_strdup__(orig) 50 | int strcasecmp(const char *a, const char *b); 51 | char *strdup(const char *orig); 52 | 53 | /* isblank is available since MSVC 2013 */ 54 | #if _MSC_VER < 1800 55 | #undef isblank 56 | #define isblank(c) retro_isblank__(c) 57 | int isblank(int c); 58 | #endif 59 | 60 | #endif 61 | 62 | RETRO_END_DECLS 63 | 64 | #endif 65 | -------------------------------------------------------------------------------- /libretro/libretro-common/include/compat/strcasestr.h: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2010-2018 The RetroArch team 2 | * 3 | * --------------------------------------------------------------------------------------- 4 | * The following license statement only applies to this file (strcasestr.h). 5 | * --------------------------------------------------------------------------------------- 6 | * 7 | * Permission is hereby granted, free of charge, 8 | * to any person obtaining a copy of this software and associated documentation files (the "Software"), 9 | * to deal in the Software without restriction, including without limitation the rights to 10 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, 11 | * and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 16 | * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 18 | * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 19 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | */ 22 | 23 | #ifndef __LIBRETRO_SDK_COMPAT_STRCASESTR_H 24 | #define __LIBRETRO_SDK_COMPAT_STRCASESTR_H 25 | 26 | #include 27 | 28 | #if defined(PS2) 29 | #include 30 | #endif 31 | 32 | #if defined(RARCH_INTERNAL) && defined(HAVE_CONFIG_H) 33 | #include "../../../config.h" 34 | #endif 35 | 36 | #ifndef HAVE_STRCASESTR 37 | 38 | #include 39 | 40 | RETRO_BEGIN_DECLS 41 | 42 | /* Avoid possible naming collisions during link 43 | * since we prefer to use the actual name. */ 44 | #define strcasestr(haystack, needle) strcasestr_retro__(haystack, needle) 45 | 46 | char *strcasestr(const char *haystack, const char *needle); 47 | 48 | RETRO_END_DECLS 49 | 50 | #endif 51 | 52 | #endif 53 | -------------------------------------------------------------------------------- /libretro/libretro-common/include/compat/strl.h: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2010-2018 The RetroArch team 2 | * 3 | * --------------------------------------------------------------------------------------- 4 | * The following license statement only applies to this file (strl.h). 5 | * --------------------------------------------------------------------------------------- 6 | * 7 | * Permission is hereby granted, free of charge, 8 | * to any person obtaining a copy of this software and associated documentation files (the "Software"), 9 | * to deal in the Software without restriction, including without limitation the rights to 10 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, 11 | * and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 16 | * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 18 | * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 19 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | */ 22 | 23 | #ifndef __LIBRETRO_SDK_COMPAT_STRL_H 24 | #define __LIBRETRO_SDK_COMPAT_STRL_H 25 | 26 | #include 27 | #include 28 | 29 | #if defined(RARCH_INTERNAL) && defined(HAVE_CONFIG_H) 30 | #include "../../../config.h" 31 | #endif 32 | 33 | #include 34 | 35 | RETRO_BEGIN_DECLS 36 | 37 | #ifdef __MACH__ 38 | #ifndef HAVE_STRL 39 | #define HAVE_STRL 40 | #endif 41 | #endif 42 | 43 | #ifndef HAVE_STRL 44 | /* Avoid possible naming collisions during link since 45 | * we prefer to use the actual name. */ 46 | #define strlcpy(dst, src, size) strlcpy_retro__(dst, src, size) 47 | 48 | #define strlcat(dst, src, size) strlcat_retro__(dst, src, size) 49 | 50 | size_t strlcpy(char *dest, const char *source, size_t size); 51 | size_t strlcat(char *dest, const char *source, size_t size); 52 | 53 | #endif 54 | 55 | char *strldup(const char *s, size_t n); 56 | 57 | RETRO_END_DECLS 58 | 59 | #endif 60 | 61 | -------------------------------------------------------------------------------- /libretro/libretro-common/include/memalign.h: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2010-2018 The RetroArch team 2 | * 3 | * --------------------------------------------------------------------------------------- 4 | * The following license statement only applies to this file (memalign.h). 5 | * --------------------------------------------------------------------------------------- 6 | * 7 | * Permission is hereby granted, free of charge, 8 | * to any person obtaining a copy of this software and associated documentation files (the "Software"), 9 | * to deal in the Software without restriction, including without limitation the rights to 10 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, 11 | * and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 16 | * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 18 | * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 19 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | */ 22 | 23 | #ifndef _LIBRETRO_MEMALIGN_H 24 | #define _LIBRETRO_MEMALIGN_H 25 | 26 | #include 27 | 28 | #include 29 | 30 | RETRO_BEGIN_DECLS 31 | 32 | void *memalign_alloc(size_t boundary, size_t size); 33 | 34 | void *memalign_alloc_aligned(size_t size); 35 | 36 | void memalign_free(void *ptr); 37 | 38 | RETRO_END_DECLS 39 | 40 | #endif 41 | -------------------------------------------------------------------------------- /libretro/libretro-common/include/memmap.h: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2010-2018 The RetroArch team 2 | * 3 | * --------------------------------------------------------------------------------------- 4 | * The following license statement only applies to this file (memmap.h). 5 | * --------------------------------------------------------------------------------------- 6 | * 7 | * Permission is hereby granted, free of charge, 8 | * to any person obtaining a copy of this software and associated documentation files (the "Software"), 9 | * to deal in the Software without restriction, including without limitation the rights to 10 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, 11 | * and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 16 | * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 18 | * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 19 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | */ 22 | 23 | #ifndef _LIBRETRO_MEMMAP_H 24 | #define _LIBRETRO_MEMMAP_H 25 | 26 | #include 27 | #include 28 | 29 | #if defined(PSP) || defined(GEKKO) || defined(VITA) || defined(_XBOX) || defined(_3DS) || defined(WIIU) || defined(SWITCH) 30 | /* No mman available */ 31 | #elif defined(_WIN32) && !defined(_XBOX) 32 | #include 33 | #include 34 | #include 35 | #else 36 | #define HAVE_MMAN 37 | #include 38 | #endif 39 | 40 | #if !defined(HAVE_MMAN) || defined(_WIN32) 41 | void* mmap(void *addr, size_t len, int mmap_prot, int mmap_flags, int fildes, size_t off); 42 | 43 | int munmap(void *addr, size_t len); 44 | 45 | int mprotect(void *addr, size_t len, int prot); 46 | #endif 47 | 48 | int memsync(void *start, void *end); 49 | 50 | int memprotect(void *addr, size_t len); 51 | 52 | #endif 53 | -------------------------------------------------------------------------------- /libretro/libretro-common/include/retro_assert.h: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2010-2018 The RetroArch team 2 | * 3 | * --------------------------------------------------------------------------------------- 4 | * The following license statement only applies to this file (retro_assert.h). 5 | * --------------------------------------------------------------------------------------- 6 | * 7 | * Permission is hereby granted, free of charge, 8 | * to any person obtaining a copy of this software and associated documentation files (the "Software"), 9 | * to deal in the Software without restriction, including without limitation the rights to 10 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, 11 | * and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 16 | * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 18 | * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 19 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | */ 22 | 23 | #ifndef __RETRO_ASSERT_H 24 | #define __RETRO_ASSERT_H 25 | 26 | #include 27 | 28 | #ifdef RARCH_INTERNAL 29 | #include 30 | #define retro_assert(cond) do { \ 31 | if (!(cond)) { printf("Assertion failed at %s:%d.\n", __FILE__, __LINE__); abort(); } \ 32 | } while(0) 33 | #else 34 | #define retro_assert(cond) assert(cond) 35 | #endif 36 | 37 | #endif 38 | -------------------------------------------------------------------------------- /libretro/libretro-common/include/retro_common.h: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2010-2018 The RetroArch team 2 | * 3 | * --------------------------------------------------------------------------------------- 4 | * The following license statement only applies to this file (retro_common.h). 5 | * --------------------------------------------------------------------------------------- 6 | * 7 | * Permission is hereby granted, free of charge, 8 | * to any person obtaining a copy of this software and associated documentation files (the "Software"), 9 | * to deal in the Software without restriction, including without limitation the rights to 10 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, 11 | * and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 16 | * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 18 | * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 19 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | */ 22 | 23 | #ifndef _LIBRETRO_COMMON_RETRO_COMMON_H 24 | #define _LIBRETRO_COMMON_RETRO_COMMON_H 25 | 26 | /* 27 | This file is designed to normalize the libretro-common compiling environment. 28 | It is not to be used in public API headers, as they should be designed as leanly as possible. 29 | Nonetheless.. in the meantime, if you do something like use ssize_t, which is not fully portable, 30 | in a public API, you may need this. 31 | */ 32 | 33 | /* conditional compilation is handled inside here */ 34 | #include 35 | 36 | #endif 37 | 38 | -------------------------------------------------------------------------------- /libretro/libretro-common/include/retro_inline.h: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2010-2018 The RetroArch team 2 | * 3 | * --------------------------------------------------------------------------------------- 4 | * The following license statement only applies to this file (retro_inline.h). 5 | * --------------------------------------------------------------------------------------- 6 | * 7 | * Permission is hereby granted, free of charge, 8 | * to any person obtaining a copy of this software and associated documentation files (the "Software"), 9 | * to deal in the Software without restriction, including without limitation the rights to 10 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, 11 | * and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 16 | * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 18 | * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 19 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | */ 22 | 23 | #ifndef __LIBRETRO_SDK_INLINE_H 24 | #define __LIBRETRO_SDK_INLINE_H 25 | 26 | #ifndef INLINE 27 | 28 | #if defined(_WIN32) || defined(__INTEL_COMPILER) 29 | #define INLINE __inline 30 | #elif defined(__STDC_VERSION__) && __STDC_VERSION__>=199901L 31 | #define INLINE inline 32 | #elif defined(__GNUC__) 33 | #define INLINE __inline__ 34 | #else 35 | #define INLINE 36 | #endif 37 | 38 | #endif 39 | #endif 40 | -------------------------------------------------------------------------------- /libretro/libretro_msvc/genesis_plus_gx_libretro.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /libretro/libretro_msvc/libretro_msvc.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.28307.136 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "genesis_plus_gx_libretro", "genesis_plus_gx_libretro.vcxproj", "{6E5A2D82-D5E3-4AE2-9253-733BAC8A924C}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|x64 = Debug|x64 11 | Debug|x86 = Debug|x86 12 | Release|x64 = Release|x64 13 | Release|x86 = Release|x86 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {6E5A2D82-D5E3-4AE2-9253-733BAC8A924C}.Debug|x64.ActiveCfg = Debug|x64 17 | {6E5A2D82-D5E3-4AE2-9253-733BAC8A924C}.Debug|x64.Build.0 = Debug|x64 18 | {6E5A2D82-D5E3-4AE2-9253-733BAC8A924C}.Debug|x86.ActiveCfg = Debug|Win32 19 | {6E5A2D82-D5E3-4AE2-9253-733BAC8A924C}.Debug|x86.Build.0 = Debug|Win32 20 | {6E5A2D82-D5E3-4AE2-9253-733BAC8A924C}.Release|x64.ActiveCfg = Release|x64 21 | {6E5A2D82-D5E3-4AE2-9253-733BAC8A924C}.Release|x64.Build.0 = Release|x64 22 | {6E5A2D82-D5E3-4AE2-9253-733BAC8A924C}.Release|x86.ActiveCfg = Release|Win32 23 | {6E5A2D82-D5E3-4AE2-9253-733BAC8A924C}.Release|x86.Build.0 = Release|Win32 24 | EndGlobalSection 25 | GlobalSection(SolutionProperties) = preSolution 26 | HideSolutionNode = FALSE 27 | EndGlobalSection 28 | GlobalSection(ExtensibilityGlobals) = postSolution 29 | SolutionGuid = {3D50B6EB-2DBD-4200-BDCA-478C602B6F32} 30 | EndGlobalSection 31 | EndGlobal 32 | -------------------------------------------------------------------------------- /libretro/libretro_msvc/msvc-2017.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.26228.9 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "msvc-2017", "msvc-2017\msvc-2017.vcxproj", "{29DF2EE7-2930-4BD3-8AC5-81A2534ACC99}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|x64 = Debug|x64 11 | Debug|x86 = Debug|x86 12 | Release|x64 = Release|x64 13 | Release|x86 = Release|x86 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {29DF2EE7-2930-4BD3-8AC5-81A2534ACC99}.Debug|x64.ActiveCfg = Debug|x64 17 | {29DF2EE7-2930-4BD3-8AC5-81A2534ACC99}.Debug|x64.Build.0 = Debug|x64 18 | {29DF2EE7-2930-4BD3-8AC5-81A2534ACC99}.Debug|x86.ActiveCfg = Debug|Win32 19 | {29DF2EE7-2930-4BD3-8AC5-81A2534ACC99}.Debug|x86.Build.0 = Debug|Win32 20 | {29DF2EE7-2930-4BD3-8AC5-81A2534ACC99}.Release|x64.ActiveCfg = Release|x64 21 | {29DF2EE7-2930-4BD3-8AC5-81A2534ACC99}.Release|x64.Build.0 = Release|x64 22 | {29DF2EE7-2930-4BD3-8AC5-81A2534ACC99}.Release|x86.ActiveCfg = Release|Win32 23 | {29DF2EE7-2930-4BD3-8AC5-81A2534ACC99}.Release|x86.Build.0 = Release|Win32 24 | EndGlobalSection 25 | GlobalSection(SolutionProperties) = preSolution 26 | HideSolutionNode = FALSE 27 | EndGlobalSection 28 | EndGlobal 29 | -------------------------------------------------------------------------------- /libretro/link.T: -------------------------------------------------------------------------------- 1 | { 2 | global: retro_*; 3 | local: *; 4 | }; 5 | 6 | -------------------------------------------------------------------------------- /libretro/msvc/gx_vstudio.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | $(OutDir) 5 | WindowsLocalDebugger 6 | "Thunder Force III (JU) [!].bin" 7 | 8 | 9 | $(OutDir) 10 | WindowsLocalDebugger 11 | "Thunder Force III (JU) [!].bin" 12 | 13 | -------------------------------------------------------------------------------- /libretro/msvc/libretro.def: -------------------------------------------------------------------------------- 1 | LIBRARY "genesis_plus_gx_libretro" 2 | EXPORTS 3 | retro_set_environment 4 | retro_set_video_refresh 5 | retro_set_audio_sample 6 | retro_set_audio_sample_batch 7 | retro_set_input_poll 8 | retro_set_input_state 9 | retro_init 10 | retro_deinit 11 | retro_api_version 12 | retro_get_system_info 13 | retro_get_system_av_info 14 | retro_set_controller_port_device 15 | retro_reset 16 | retro_run 17 | retro_serialize_size 18 | retro_serialize 19 | retro_unserialize 20 | retro_cheat_reset 21 | retro_cheat_set 22 | retro_load_game 23 | retro_load_game_special 24 | retro_unload_game 25 | retro_get_region 26 | retro_get_memory_data 27 | retro_get_memory_size 28 | -------------------------------------------------------------------------------- /libretro/msvc/msvc-2017.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.26228.9 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "msvc-2017", "msvc-2017\msvc-2017.vcxproj", "{29DF2EE7-2930-4BD3-8AC5-81A2534ACC99}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|x64 = Debug|x64 11 | Debug|x86 = Debug|x86 12 | Release|x64 = Release|x64 13 | Release|x86 = Release|x86 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {29DF2EE7-2930-4BD3-8AC5-81A2534ACC99}.Debug|x64.ActiveCfg = Debug|x64 17 | {29DF2EE7-2930-4BD3-8AC5-81A2534ACC99}.Debug|x64.Build.0 = Debug|x64 18 | {29DF2EE7-2930-4BD3-8AC5-81A2534ACC99}.Debug|x86.ActiveCfg = Debug|Win32 19 | {29DF2EE7-2930-4BD3-8AC5-81A2534ACC99}.Debug|x86.Build.0 = Debug|Win32 20 | {29DF2EE7-2930-4BD3-8AC5-81A2534ACC99}.Release|x64.ActiveCfg = Release|x64 21 | {29DF2EE7-2930-4BD3-8AC5-81A2534ACC99}.Release|x64.Build.0 = Release|x64 22 | {29DF2EE7-2930-4BD3-8AC5-81A2534ACC99}.Release|x86.ActiveCfg = Release|Win32 23 | {29DF2EE7-2930-4BD3-8AC5-81A2534ACC99}.Release|x86.Build.0 = Release|Win32 24 | EndGlobalSection 25 | GlobalSection(SolutionProperties) = preSolution 26 | HideSolutionNode = FALSE 27 | EndGlobalSection 28 | EndGlobal 29 | -------------------------------------------------------------------------------- /libretro/scrc32.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | * scrc32.h 3 | * 4 | * Genesis Plus GX libretro port 5 | * 6 | * Copyright Eke-Eke (2007-2015) 7 | * 8 | * Copyright Daniel De Matteis (2012-2016) 9 | * 10 | * Redistribution and use of this code or any derivative works are permitted 11 | * provided that the following conditions are met: 12 | * 13 | * - Redistributions may not be sold, nor may they be used in a commercial 14 | * product or activity. 15 | * 16 | * - Redistributions that are modified from the original source must include the 17 | * complete source code, including the source code for all components used by a 18 | * binary built from the modified sources. However, as a special exception, the 19 | * source code distributed need not include anything that is normally distributed 20 | * (in either source or binary form) with the major components (compiler, kernel, 21 | * and so on) of the operating system on which the executable runs, unless that 22 | * component itself accompanies the executable. 23 | * 24 | * - Redistributions must reproduce the above copyright notice, this list of 25 | * conditions and the following disclaimer in the documentation and/or other 26 | * materials provided with the distribution. 27 | * 28 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 29 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 30 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 31 | * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 32 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 33 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 34 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 35 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 36 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 37 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 38 | * POSSIBILITY OF SUCH DAMAGE. 39 | * 40 | ****************************************************************************************/ 41 | #ifndef _S_CRC32_H 42 | #define _S_CRC32_H 43 | 44 | unsigned long crc32(unsigned long crc, const unsigned char *buf, unsigned int len); 45 | 46 | #endif 47 | -------------------------------------------------------------------------------- /psp2/config.c: -------------------------------------------------------------------------------- 1 | 2 | #include "osd.h" 3 | 4 | t_config config; 5 | 6 | void set_config_defaults(void) 7 | { 8 | int i; 9 | 10 | /* sound options */ 11 | config.psg_preamp = 150; 12 | config.fm_preamp = 100; 13 | config.cdda_volume = 100; 14 | config.pcm_volume = 100; 15 | config.hq_fm = 0; 16 | config.hq_psg = 0; 17 | config.filter = 1; 18 | config.low_freq = 200; 19 | config.high_freq = 8000; 20 | config.lg = 100; 21 | config.mg = 100; 22 | config.hg = 100; 23 | config.lp_range = 0x9999; /* 0.6 in 0.16 fixed point */ 24 | config.ym2612 = YM2612_DISCRETE; 25 | config.ym2413 = 2; /* = AUTO (0 = always OFF, 1 = always ON) */ 26 | config.mono = 0; 27 | 28 | /* system options */ 29 | config.system = 0; /* = AUTO (or SYSTEM_SG, SYSTEM_SGII, SYSTEM_SGII_RAM_EXT, SYSTEM_MARKIII, SYSTEM_SMS, SYSTEM_SMS2, SYSTEM_GG, SYSTEM_MD) */ 30 | config.region_detect = 0; /* = AUTO (1 = USA, 2 = EUROPE, 3 = JAPAN/NTSC, 4 = JAPAN/PAL) */ 31 | config.vdp_mode = 0; /* = AUTO (1 = NTSC, 2 = PAL) */ 32 | config.master_clock = 0; /* = AUTO (1 = NTSC, 2 = PAL) */ 33 | config.force_dtack = 0; 34 | config.addr_error = 1; 35 | config.bios = 0; 36 | config.lock_on = 0; /* = OFF (can be TYPE_SK, TYPE_GG & TYPE_AR) */ 37 | config.add_on = 0; /* = HW_ADDON_AUTO (or HW_ADDON_MEGACD, HW_ADDON_MEGASD & HW_ADDON_NONE) */ 38 | config.cd_latency = 1; 39 | 40 | /* display options */ 41 | config.overscan = 0; /* 3 = all borders (0 = no borders , 1 = vertical borders only, 2 = horizontal borders only) */ 42 | config.gg_extra = 0; /* 1 = show extended Game Gear screen (256x192) */ 43 | config.render = 0; /* 1 = double resolution output (only when interlaced mode 2 is enabled) */ 44 | config.ntsc = 0; 45 | config.lcd = 0; /* 0.8 fixed point */ 46 | config.enhanced_vscroll = 0; 47 | config.enhanced_vscroll_limit = 8; 48 | 49 | /* controllers options */ 50 | input.system[0] = SYSTEM_GAMEPAD; 51 | input.system[1] = SYSTEM_GAMEPAD; 52 | config.gun_cursor[0] = 1; 53 | config.gun_cursor[1] = 1; 54 | config.invert_mouse = 0; 55 | for (i=0;i 2 | #include 3 | #include 4 | 5 | #include 6 | #include 7 | #include "psplib/pl_snd.h" 8 | #include "psplib/video.h" 9 | #include "psplib/pl_psp.h" 10 | #include "psplib/ctrl.h" 11 | #include 12 | 13 | #include "menu.h" 14 | #include "emumain.h" 15 | 16 | 17 | PSP2_MODULE_INFO(0,1,PSP_APP_NAME) 18 | //PSP_MAIN_THREAD_ATTR(THREAD_ATTR_USER) 19 | 20 | static void ExitCallback(void* arg) 21 | { 22 | ExitPSP = 1; 23 | } 24 | 25 | int main(int argc,char *argv[]) 26 | { 27 | /* Initialize PSP */ 28 | pl_psp_init("cache0:/GENPlusVITA/"); 29 | pl_snd_init(SOUND_SAMPLES, 1); 30 | pspCtrlInit(); 31 | pspVideoInit(); 32 | 33 | /* Initialize callbacks */ 34 | pl_psp_register_callback(PSP_EXIT_CALLBACK, 35 | ExitCallback, 36 | NULL); 37 | pl_psp_start_callback_thread(); 38 | 39 | /* Start emulation */ 40 | InitMenu(); 41 | DisplayMenu(); 42 | TrashMenu(); 43 | 44 | /* Release PSP resources */ 45 | pl_snd_shutdown(); 46 | pspVideoShutdown(); 47 | pl_psp_shutdown(); 48 | 49 | return(0); 50 | } 51 | -------------------------------------------------------------------------------- /psp2/main.h: -------------------------------------------------------------------------------- 1 | 2 | #ifndef _MAIN_H_ 3 | #define _MAIN_H_ 4 | 5 | #define MAX_INPUTS 8 6 | 7 | extern int debug_on; 8 | extern int log_error; 9 | extern int sdl_input_update(void); 10 | 11 | #endif /* _MAIN_H_ */ 12 | -------------------------------------------------------------------------------- /psp2/menu.h: -------------------------------------------------------------------------------- 1 | #ifndef _MENU_H 2 | #define _MENU_H 3 | 4 | void InitMenu(); 5 | void DisplayMenu(); 6 | void TrashMenu(); 7 | 8 | #endif 9 | -------------------------------------------------------------------------------- /psp2/osd.h: -------------------------------------------------------------------------------- 1 | 2 | #ifndef _OSD_H_ 3 | #define _OSD_H_ 4 | 5 | #include 6 | #include 7 | #include 8 | #include 9 | 10 | #include 11 | 12 | #include "shared.h" 13 | #include "config.h" 14 | #include "error.h" 15 | #include "unzip.h" 16 | #include "fileio.h" 17 | 18 | extern void osd_input_update(void); 19 | 20 | 21 | #define GG_ROM "./ggenie.bin" 22 | #define AR_ROM "./areplay.bin" 23 | #define SK_ROM "./sk.bin" 24 | #define SK_UPMEM "./sk2chip.bin" 25 | #define CD_BIOS_US "./bios_CD_U.bin" 26 | #define CD_BIOS_EU "./bios_CD_E.bin" 27 | #define CD_BIOS_JP "./bios_CD_J.bin" 28 | #define MD_BIOS "./bios_MD.bin" 29 | #define MS_BIOS_US "./bios_U.sms" 30 | #define MS_BIOS_EU "./bios_E.sms" 31 | #define MS_BIOS_JP "./bios_J.sms" 32 | #define GG_BIOS "./bios.gg" 33 | 34 | #endif /* _OSD_H_ */ 35 | -------------------------------------------------------------------------------- /sdl/README.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/sdl/README.txt -------------------------------------------------------------------------------- /sdl/config.h: -------------------------------------------------------------------------------- 1 | 2 | #ifndef _CONFIG_H_ 3 | #define _CONFIG_H_ 4 | 5 | #include "types.h" 6 | 7 | /**************************************************************************** 8 | * Config Option 9 | * 10 | ****************************************************************************/ 11 | typedef struct 12 | { 13 | uint8 padtype; 14 | } t_input_config; 15 | 16 | typedef struct 17 | { 18 | uint8 hq_fm; 19 | uint8 filter; 20 | uint8 hq_psg; 21 | uint8 ym2612; 22 | uint8 ym2413; 23 | uint8 ym3438; 24 | uint8 opll; 25 | uint8 cd_latency; 26 | int16 psg_preamp; 27 | int16 fm_preamp; 28 | int16 cdda_volume; 29 | int16 pcm_volume; 30 | uint32 lp_range; 31 | int16 low_freq; 32 | int16 high_freq; 33 | int16 lg; 34 | int16 mg; 35 | int16 hg; 36 | uint8 mono; 37 | uint8 system; 38 | uint8 region_detect; 39 | uint8 vdp_mode; 40 | uint8 master_clock; 41 | uint8 force_dtack; 42 | uint8 addr_error; 43 | uint8 bios; 44 | uint8 lock_on; 45 | uint8 add_on; 46 | uint8 hot_swap; 47 | uint8 invert_mouse; 48 | uint8 gun_cursor[2]; 49 | uint8 overscan; 50 | uint8 gg_extra; 51 | uint8 ntsc; 52 | uint8 lcd; 53 | uint8 render; 54 | uint8 enhanced_vscroll; 55 | uint8 enhanced_vscroll_limit; 56 | t_input_config input[MAX_INPUTS]; 57 | } t_config; 58 | 59 | /* Global variables */ 60 | extern t_config config; 61 | extern void set_config_defaults(void); 62 | 63 | #endif /* _CONFIG_H_ */ 64 | 65 | -------------------------------------------------------------------------------- /sdl/error.c: -------------------------------------------------------------------------------- 1 | /* 2 | error.c -- 3 | Error logging 4 | */ 5 | 6 | #include "osd.h" 7 | 8 | #ifdef LOGERROR 9 | static FILE *error_log; 10 | #endif 11 | 12 | void error_init(void) 13 | { 14 | #ifdef LOGERROR 15 | error_log = fopen("error.log","w"); 16 | #endif 17 | } 18 | 19 | void error_shutdown(void) 20 | { 21 | #ifdef LOGERROR 22 | if(error_log) fclose(error_log); 23 | #endif 24 | } 25 | 26 | void error(char *format, ...) 27 | { 28 | #ifdef LOGERROR 29 | if (log_error) 30 | { 31 | va_list ap; 32 | va_start(ap, format); 33 | if(error_log) vfprintf(error_log, format, ap); 34 | va_end(ap); 35 | } 36 | #endif 37 | } 38 | -------------------------------------------------------------------------------- /sdl/error.h: -------------------------------------------------------------------------------- 1 | #ifndef _ERROR_H_ 2 | #define _ERROR_H_ 3 | 4 | /* Function prototypes */ 5 | void error_init(void); 6 | void error_shutdown(void); 7 | void error(char *format, ...); 8 | 9 | #endif /* _ERROR_H_ */ 10 | 11 | -------------------------------------------------------------------------------- /sdl/gx_vstudio/deps/SDL2/.put_sdl2_devel_here: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/sdl/gx_vstudio/deps/SDL2/.put_sdl2_devel_here -------------------------------------------------------------------------------- /sdl/gx_vstudio/deps/zlib/x64/.put_lib_files_here: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/sdl/gx_vstudio/deps/zlib/x64/.put_lib_files_here -------------------------------------------------------------------------------- /sdl/gx_vstudio/deps/zlib/x86/.put_lib_files_here: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/sdl/gx_vstudio/deps/zlib/x86/.put_lib_files_here -------------------------------------------------------------------------------- /sdl/gx_vstudio/gx_vstudio.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.27703.2035 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gx_vstudio", "gx_vstudio.vcxproj", "{02639D27-5E68-4F28-8A80-8BA00D9D9547}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|x64 = Debug|x64 11 | Debug|x86 = Debug|x86 12 | Release|x64 = Release|x64 13 | Release|x86 = Release|x86 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {02639D27-5E68-4F28-8A80-8BA00D9D9547}.Debug|x64.ActiveCfg = Debug|x64 17 | {02639D27-5E68-4F28-8A80-8BA00D9D9547}.Debug|x64.Build.0 = Debug|x64 18 | {02639D27-5E68-4F28-8A80-8BA00D9D9547}.Debug|x86.ActiveCfg = Debug|Win32 19 | {02639D27-5E68-4F28-8A80-8BA00D9D9547}.Debug|x86.Build.0 = Debug|Win32 20 | {02639D27-5E68-4F28-8A80-8BA00D9D9547}.Release|x64.ActiveCfg = Release|x64 21 | {02639D27-5E68-4F28-8A80-8BA00D9D9547}.Release|x64.Build.0 = Release|x64 22 | {02639D27-5E68-4F28-8A80-8BA00D9D9547}.Release|x86.ActiveCfg = Release|Win32 23 | {02639D27-5E68-4F28-8A80-8BA00D9D9547}.Release|x86.Build.0 = Release|Win32 24 | EndGlobalSection 25 | GlobalSection(SolutionProperties) = preSolution 26 | HideSolutionNode = FALSE 27 | EndGlobalSection 28 | GlobalSection(ExtensibilityGlobals) = postSolution 29 | SolutionGuid = {3F183379-6CD9-42BB-BEF2-D0C3030ABB87} 30 | EndGlobalSection 31 | EndGlobal 32 | -------------------------------------------------------------------------------- /sdl/gx_vstudio/gx_vstudio.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | $(OutDir) 5 | WindowsLocalDebugger 6 | "Thunder Force III (JU) [!].bin" 7 | 8 | 9 | $(OutDir) 10 | WindowsLocalDebugger 11 | "Thunder Force III (JU) [!].bin" 12 | 13 | -------------------------------------------------------------------------------- /sdl/icon.rc: -------------------------------------------------------------------------------- 1 | MAINICON ICON "md.ico" 2 | -------------------------------------------------------------------------------- /sdl/md.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libretro/Genesis-Plus-GX-Wide/b7d314220d755537aebb7bc1750ac21f764365c4/sdl/md.ico -------------------------------------------------------------------------------- /sdl/osd.h: -------------------------------------------------------------------------------- 1 | 2 | #ifndef _OSD_H_ 3 | #define _OSD_H_ 4 | 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | 11 | #include 12 | 13 | #include "main.h" 14 | #include "config.h" 15 | #include "error.h" 16 | #include "unzip.h" 17 | #include "fileio.h" 18 | 19 | #define osd_input_update sdl_input_update 20 | 21 | #define GG_ROM "./ggenie.bin" 22 | #define AR_ROM "./areplay.bin" 23 | #define SK_ROM "./sk.bin" 24 | #define SK_UPMEM "./sk2chip.bin" 25 | #define CD_BIOS_US "./bios_CD_U.bin" 26 | #define CD_BIOS_EU "./bios_CD_E.bin" 27 | #define CD_BIOS_JP "./bios_CD_J.bin" 28 | #define MD_BIOS "./bios_MD.bin" 29 | #define MS_BIOS_US "./bios_U.sms" 30 | #define MS_BIOS_EU "./bios_E.sms" 31 | #define MS_BIOS_JP "./bios_J.sms" 32 | #define GG_BIOS "./bios.gg" 33 | 34 | #endif /* _OSD_H_ */ 35 | -------------------------------------------------------------------------------- /sdl/readme-sdl.txt: -------------------------------------------------------------------------------- 1 | Compile with MinGW. 2 | You will also need to install the SDL library (http://www.libsdl.org/). 3 | Zlib is required for zipped rom support. 4 | 5 | Please distribute required dlls with the executable. -------------------------------------------------------------------------------- /sdl/sdl1/main.h: -------------------------------------------------------------------------------- 1 | 2 | #ifndef _MAIN_H_ 3 | #define _MAIN_H_ 4 | 5 | #define MAX_INPUTS 8 6 | 7 | extern int debug_on; 8 | extern int log_error; 9 | extern int sdl_input_update(void); 10 | 11 | #endif /* _MAIN_H_ */ 12 | -------------------------------------------------------------------------------- /sdl/sdl2/main.h: -------------------------------------------------------------------------------- 1 | 2 | #ifndef _MAIN_H_ 3 | #define _MAIN_H_ 4 | 5 | #define MAX_INPUTS 8 6 | 7 | extern int debug_on; 8 | extern int log_error; 9 | extern int sdl_input_update(void); 10 | 11 | #endif /* _MAIN_H_ */ 12 | --------------------------------------------------------------------------------