├── .github └── FUNDING.yml ├── .gitignore ├── .lgtm.yml ├── .travis.yml ├── CMakeLists.txt ├── CMakeSettings.json ├── LICENSE ├── LICENSE-GPL ├── LICENSE-LGPL ├── README.md ├── WorkDir ├── SDL.dll ├── data │ ├── fsca-table.bin │ └── vmu_default.bin ├── glew32.dll └── webui │ ├── debugger.html │ └── favicon.ico ├── aica-dsp-asm ├── build.sh ├── build_linux.sh ├── build_macos.sh └── main.cpp ├── appveyor.yml ├── azure-pipelines.yml ├── bitrise.yml ├── docs ├── CONTRIBUTING.md ├── DreamCast_Specs.md ├── Dynarec Architecture.md ├── Naomi_Overview.md ├── Notable game bugs.md ├── Release schedule and structure.md ├── microphone support notes.txt └── neil_corlett_aica_notes.txt ├── gdtool ├── gdtool.sln ├── gdtool.vcxproj ├── gdtool.vcxproj.filters ├── gdtool.vcxproj.user └── src │ ├── cdromfs.cpp │ ├── cdromfs.h │ ├── cdromfs_imp.h │ └── main.cpp ├── issue_template.md ├── libretro_data ├── config │ └── Reicast │ │ ├── Reicast.cfg │ │ └── Reicast.opt └── cores │ └── libreicast.info ├── libswirl ├── .gitignore ├── README.md ├── android │ ├── Android.cpp │ ├── Android.h │ ├── android_gamepad.h │ ├── utils.cpp │ └── utils.h ├── archive │ ├── 7zArchive.cpp │ ├── 7zArchive.h │ ├── ZipArchive.cpp │ ├── ZipArchive.h │ ├── archive.cpp │ └── archive.h ├── build.h ├── cfg │ ├── cfg.cpp │ ├── cfg.h │ ├── cl.cpp │ ├── ini.cpp │ └── ini.h ├── core.mk ├── deps │ ├── cdipsr │ │ ├── cdipsr.cpp │ │ └── cdipsr.h │ ├── chdr │ │ ├── bitstream.c │ │ ├── bitstream.h │ │ ├── cdrom.c │ │ ├── cdrom.h │ │ ├── chd.c │ │ ├── chd.h │ │ ├── coretypes.h │ │ ├── flac.c │ │ ├── flac.h │ │ ├── huffman.c │ │ └── huffman.h │ ├── coreio │ │ ├── coreio.cpp │ │ └── coreio.h │ ├── crypto │ │ ├── md5.cpp │ │ ├── md5.h │ │ ├── sha1.cpp │ │ ├── sha1.h │ │ ├── sha256.cpp │ │ └── sha256.h │ ├── dirent │ │ ├── dirent.c │ │ └── dirent.h │ ├── flac │ │ ├── include │ │ │ ├── FLAC │ │ │ │ ├── all.h │ │ │ │ ├── assert.h │ │ │ │ ├── callback.h │ │ │ │ ├── export.h │ │ │ │ ├── format.h │ │ │ │ ├── metadata.h │ │ │ │ ├── ordinals.h │ │ │ │ ├── stream_decoder.h │ │ │ │ └── stream_encoder.h │ │ │ └── share │ │ │ │ ├── alloc.h │ │ │ │ ├── compat.h │ │ │ │ ├── endswap.h │ │ │ │ ├── macros.h │ │ │ │ ├── safe_str.h │ │ │ │ ├── win_utf8_io.h │ │ │ │ └── windows_unicode_filenames.h │ │ └── src │ │ │ └── libFLAC │ │ │ ├── bitmath.c │ │ │ ├── bitreader.c │ │ │ ├── cpu.c │ │ │ ├── crc.c │ │ │ ├── fixed.c │ │ │ ├── fixed_intrin_sse2.c │ │ │ ├── fixed_intrin_ssse3.c │ │ │ ├── float.c │ │ │ ├── format.c │ │ │ ├── include │ │ │ ├── private │ │ │ │ ├── bitmath.h │ │ │ │ ├── bitreader.h │ │ │ │ ├── cpu.h │ │ │ │ ├── crc.h │ │ │ │ ├── fixed.h │ │ │ │ ├── float.h │ │ │ │ ├── format.h │ │ │ │ ├── lpc.h │ │ │ │ ├── macros.h │ │ │ │ ├── md5.h │ │ │ │ ├── memory.h │ │ │ │ ├── metadata.h │ │ │ │ └── window.h │ │ │ └── protected │ │ │ │ └── stream_decoder.h │ │ │ ├── lpc.c │ │ │ ├── lpc_intrin_avx2.c │ │ │ ├── lpc_intrin_sse.c │ │ │ ├── lpc_intrin_sse2.c │ │ │ ├── lpc_intrin_sse41.c │ │ │ ├── md5.c │ │ │ ├── memory.c │ │ │ ├── metadata_iterators.c │ │ │ ├── metadata_object.c │ │ │ ├── stream_decoder.c │ │ │ ├── window.c │ │ │ └── windows_unicode_filenames.c │ ├── imgui │ │ ├── imconfig.h │ │ ├── imgui.cpp │ │ ├── imgui.h │ │ ├── imgui_demo.cpp │ │ ├── imgui_draw.cpp │ │ ├── imgui_internal.h │ │ ├── imgui_widgets.cpp │ │ ├── imstb_rectpack.h │ │ ├── imstb_textedit.h │ │ ├── imstb_truetype.h │ │ └── roboto_medium.h │ ├── khronos │ │ ├── APPLE │ │ │ ├── egl.h │ │ │ ├── eglplatform.h │ │ │ └── khrplatform.h │ │ ├── EGL │ │ │ ├── egl.h │ │ │ ├── eglext.h │ │ │ └── eglplatform.h │ │ ├── GL3 │ │ │ ├── gl3.h │ │ │ ├── gl3w.c │ │ │ └── gl3w.h │ │ ├── GL4 │ │ │ ├── glcorearb.h │ │ │ └── glext.h │ │ ├── GLES2 │ │ │ ├── gl2.h │ │ │ ├── gl2ext.h │ │ │ └── gl2platform.h │ │ ├── GLES3 │ │ │ ├── gl2ext.h │ │ │ ├── gl3.h │ │ │ └── gl3platform.h │ │ ├── GLES32 │ │ │ ├── gl2ext.h │ │ │ └── gl32.h │ │ └── KHR │ │ │ └── khrplatform.h │ ├── libelf │ │ ├── debug.h │ │ ├── elf.cpp │ │ ├── elf.h │ │ ├── elf32.cpp │ │ ├── elf32.h │ │ ├── elf64.cpp │ │ └── elf64.h │ ├── libpng │ │ ├── arm │ │ │ ├── arm_init.c │ │ │ ├── filter_neon.S │ │ │ └── filter_neon_intrinsics.c │ │ ├── config.h │ │ ├── contrib │ │ │ └── arm-neon │ │ │ │ ├── android-ndk.c │ │ │ │ ├── linux-auxv.c │ │ │ │ └── linux.c │ │ ├── png.c │ │ ├── png.h │ │ ├── pngconf.h │ │ ├── pngdebug.h │ │ ├── pngerror.c │ │ ├── pngget.c │ │ ├── pnginfo.h │ │ ├── pnglibconf.h │ │ ├── pngmem.c │ │ ├── pngpread.c │ │ ├── pngpriv.h │ │ ├── pngread.c │ │ ├── pngrio.c │ │ ├── pngrtran.c │ │ ├── pngrutil.c │ │ ├── pngset.c │ │ ├── pngstruct.h │ │ ├── pngtrans.c │ │ ├── pngwio.c │ │ ├── pngwrite.c │ │ ├── pngwtran.c │ │ └── pngwutil.c │ ├── libzip │ │ ├── config.h │ │ ├── mkstemp.c │ │ ├── zip.h │ │ ├── zip_add.c │ │ ├── zip_add_dir.c │ │ ├── zip_close.c │ │ ├── zip_delete.c │ │ ├── zip_dirent.c │ │ ├── zip_entry_free.c │ │ ├── zip_entry_new.c │ │ ├── zip_err_str.c │ │ ├── zip_error.c │ │ ├── zip_error_clear.c │ │ ├── zip_error_get.c │ │ ├── zip_error_get_sys_type.c │ │ ├── zip_error_strerror.c │ │ ├── zip_error_to_str.c │ │ ├── zip_fclose.c │ │ ├── zip_file_error_clear.c │ │ ├── zip_file_error_get.c │ │ ├── zip_file_get_offset.c │ │ ├── zip_file_strerror.c │ │ ├── zip_filerange_crc.c │ │ ├── zip_fopen.c │ │ ├── zip_fopen_index.c │ │ ├── zip_fread.c │ │ ├── zip_free.c │ │ ├── zip_get_archive_comment.c │ │ ├── zip_get_archive_flag.c │ │ ├── zip_get_file_comment.c │ │ ├── zip_get_name.c │ │ ├── zip_get_num_files.c │ │ ├── zip_memdup.c │ │ ├── zip_name_locate.c │ │ ├── zip_new.c │ │ ├── zip_open.c │ │ ├── zip_rename.c │ │ ├── zip_replace.c │ │ ├── zip_set_archive_comment.c │ │ ├── zip_set_archive_flag.c │ │ ├── zip_set_file_comment.c │ │ ├── zip_set_name.c │ │ ├── zip_source_buffer.c │ │ ├── zip_source_file.c │ │ ├── zip_source_filep.c │ │ ├── zip_source_free.c │ │ ├── zip_source_function.c │ │ ├── zip_source_zip.c │ │ ├── zip_stat.c │ │ ├── zip_stat_index.c │ │ ├── zip_stat_init.c │ │ ├── zip_strerror.c │ │ ├── zip_unchange.c │ │ ├── zip_unchange_all.c │ │ ├── zip_unchange_archive.c │ │ ├── zip_unchange_data.c │ │ └── zipint.h │ ├── lua │ │ ├── README.md │ │ ├── lapi.c │ │ ├── lapi.h │ │ ├── lauxlib.c │ │ ├── lauxlib.h │ │ ├── lbaselib.c │ │ ├── lbitlib.c │ │ ├── lcode.c │ │ ├── lcode.h │ │ ├── lcorolib.c │ │ ├── lctype.c │ │ ├── lctype.h │ │ ├── ldblib.c │ │ ├── ldebug.c │ │ ├── ldebug.h │ │ ├── ldo.c │ │ ├── ldo.h │ │ ├── ldump.c │ │ ├── lfunc.c │ │ ├── lfunc.h │ │ ├── lgc.c │ │ ├── lgc.h │ │ ├── linit.c │ │ ├── liolib.c │ │ ├── llex.c │ │ ├── llex.h │ │ ├── llimits.h │ │ ├── lmathlib.c │ │ ├── lmem.c │ │ ├── lmem.h │ │ ├── loadlib.c │ │ ├── lobject.c │ │ ├── lobject.h │ │ ├── lopcodes.c │ │ ├── lopcodes.h │ │ ├── loslib.c │ │ ├── lparser.c │ │ ├── lparser.h │ │ ├── lprefix.h │ │ ├── lstate.c │ │ ├── lstate.h │ │ ├── lstring.c │ │ ├── lstring.h │ │ ├── lstrlib.c │ │ ├── ltable.c │ │ ├── ltable.h │ │ ├── ltablib.c │ │ ├── ltm.c │ │ ├── ltm.h │ │ ├── lua.h │ │ ├── lua.hpp │ │ ├── luaconf.h │ │ ├── lualib.h │ │ ├── lundump.c │ │ ├── lundump.h │ │ ├── lutf8lib.c │ │ ├── lvm.c │ │ ├── lvm.h │ │ ├── lzio.c │ │ └── lzio.h │ ├── lzma │ │ ├── 7z.h │ │ ├── 7zArcIn.c │ │ ├── 7zBuf.c │ │ ├── 7zBuf.h │ │ ├── 7zCrc.c │ │ ├── 7zCrc.h │ │ ├── 7zCrcOpt.c │ │ ├── 7zDec.c │ │ ├── 7zFile.c │ │ ├── 7zFile.h │ │ ├── 7zStream.c │ │ ├── 7zTypes.h │ │ ├── Alloc.c │ │ ├── Alloc.h │ │ ├── Bcj2.c │ │ ├── Bcj2.h │ │ ├── Bra.c │ │ ├── Bra.h │ │ ├── Bra86.c │ │ ├── BraIA64.c │ │ ├── Compiler.h │ │ ├── CpuArch.c │ │ ├── CpuArch.h │ │ ├── Delta.c │ │ ├── Delta.h │ │ ├── LzFind.c │ │ ├── LzFind.h │ │ ├── LzHash.h │ │ ├── Lzma2Dec.c │ │ ├── Lzma2Dec.h │ │ ├── Lzma86.h │ │ ├── Lzma86Dec.c │ │ ├── Lzma86Enc.c │ │ ├── LzmaDec.c │ │ ├── LzmaDec.h │ │ ├── LzmaEnc.c │ │ ├── LzmaEnc.h │ │ ├── LzmaLib.c │ │ ├── LzmaLib.h │ │ ├── Precomp.h │ │ ├── Sort.c │ │ └── Sort.h │ ├── vixl │ │ ├── aarch32 │ │ │ ├── assembler-aarch32.cc │ │ │ ├── assembler-aarch32.h │ │ │ ├── constants-aarch32.cc │ │ │ ├── constants-aarch32.h │ │ │ ├── disasm-aarch32.cc │ │ │ ├── disasm-aarch32.h │ │ │ ├── instructions-aarch32.cc │ │ │ ├── instructions-aarch32.h │ │ │ ├── location-aarch32.cc │ │ │ ├── location-aarch32.h │ │ │ ├── macro-assembler-aarch32.cc │ │ │ ├── macro-assembler-aarch32.h │ │ │ ├── operands-aarch32.cc │ │ │ └── operands-aarch32.h │ │ ├── aarch64 │ │ │ ├── abi-aarch64.h │ │ │ ├── assembler-aarch64.cc │ │ │ ├── assembler-aarch64.h │ │ │ ├── constants-aarch64.h │ │ │ ├── cpu-aarch64.cc │ │ │ ├── cpu-aarch64.h │ │ │ ├── cpu-features-auditor-aarch64.cc │ │ │ ├── cpu-features-auditor-aarch64.h │ │ │ ├── decoder-aarch64.cc │ │ │ ├── decoder-aarch64.h │ │ │ ├── disasm-aarch64.cc │ │ │ ├── disasm-aarch64.h │ │ │ ├── instructions-aarch64.cc │ │ │ ├── instructions-aarch64.h │ │ │ ├── instrument-aarch64.cc │ │ │ ├── instrument-aarch64.h │ │ │ ├── logic-aarch64.cc │ │ │ ├── macro-assembler-aarch64.cc │ │ │ ├── macro-assembler-aarch64.h │ │ │ ├── operands-aarch64.cc │ │ │ ├── operands-aarch64.h │ │ │ ├── pointer-auth-aarch64.cc │ │ │ ├── simulator-aarch64.cc │ │ │ ├── simulator-aarch64.h │ │ │ └── simulator-constants-aarch64.h │ │ ├── assembler-base-vixl.h │ │ ├── code-buffer-vixl.cc │ │ ├── code-buffer-vixl.h │ │ ├── code-generation-scopes-vixl.h │ │ ├── compiler-intrinsics-vixl.cc │ │ ├── compiler-intrinsics-vixl.h │ │ ├── cpu-features.cc │ │ ├── cpu-features.h │ │ ├── globals-vixl.h │ │ ├── invalset-vixl.h │ │ ├── macro-assembler-interface.h │ │ ├── platform-vixl.h │ │ ├── pool-manager-impl.h │ │ ├── pool-manager.h │ │ ├── utils-vixl.cc │ │ └── utils-vixl.h │ ├── xbyak │ │ ├── COPYRIGHT │ │ ├── xbyak.h │ │ ├── xbyak_bin2hex.h │ │ ├── xbyak_mnemonic.h │ │ └── xbyak_util.h │ ├── xxhash │ │ ├── xxhash.c │ │ └── xxhash.h │ └── zlib │ │ ├── Makefile │ │ ├── adler32.c │ │ ├── compress.c │ │ ├── crc32.c │ │ ├── crc32.h │ │ ├── deflate.c │ │ ├── deflate.h │ │ ├── gzguts.h │ │ ├── infback.c │ │ ├── inffast.c │ │ ├── inffast.h │ │ ├── inffixed.h │ │ ├── inflate.c │ │ ├── inflate.h │ │ ├── inftrees.c │ │ ├── inftrees.h │ │ ├── trees.c │ │ ├── trees.h │ │ ├── uncompr.c │ │ ├── zconf.h │ │ ├── zlib.h │ │ ├── zlib.xcodeproj │ │ └── project.pbxproj │ │ ├── zutil.c │ │ └── zutil.h ├── dispframe.cpp ├── gpl │ ├── deps │ │ ├── picotcp │ │ │ ├── CONTRIBUTING.md │ │ │ ├── COPYING │ │ │ ├── LICENSE.GPLv2 │ │ │ ├── LICENSE.GPLv3 │ │ │ ├── MODTREE │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── include │ │ │ │ ├── arch │ │ │ │ │ ├── pico_arm9.h │ │ │ │ │ ├── pico_atsamd21j18.h │ │ │ │ │ ├── pico_avr.h │ │ │ │ │ ├── pico_cortex_m.h │ │ │ │ │ ├── pico_dos.h │ │ │ │ │ ├── pico_esp8266.h │ │ │ │ │ ├── pico_generic_gcc.h │ │ │ │ │ ├── pico_linux.h │ │ │ │ │ ├── pico_mbed.h │ │ │ │ │ ├── pico_msp430.h │ │ │ │ │ ├── pico_msvc.h │ │ │ │ │ ├── pico_none.h │ │ │ │ │ ├── pico_pic24.h │ │ │ │ │ ├── pico_pic32.h │ │ │ │ │ └── pico_posix.h │ │ │ │ ├── heap.h │ │ │ │ ├── pico_addressing.h │ │ │ │ ├── pico_config.h │ │ │ │ ├── pico_constants.h │ │ │ │ ├── pico_defines.h │ │ │ │ ├── pico_defines_msvc.h │ │ │ │ ├── pico_device.h │ │ │ │ ├── pico_eth.h │ │ │ │ ├── pico_frame.h │ │ │ │ ├── pico_md5.h │ │ │ │ ├── pico_module_eth.h │ │ │ │ ├── pico_protocol.h │ │ │ │ ├── pico_queue.h │ │ │ │ ├── pico_socket.h │ │ │ │ ├── pico_socket_multicast.h │ │ │ │ ├── pico_stack.h │ │ │ │ └── pico_tree.h │ │ │ ├── mkdeps.sh │ │ │ ├── modules │ │ │ │ ├── pico_6lowpan.h │ │ │ │ ├── pico_6lowpan_ll.h │ │ │ │ ├── pico_802154.h │ │ │ │ ├── pico_aodv.h │ │ │ │ ├── pico_arp.c │ │ │ │ ├── pico_arp.h │ │ │ │ ├── pico_dev_ipc.h │ │ │ │ ├── pico_dev_null.h │ │ │ │ ├── pico_dev_ppp.c │ │ │ │ ├── pico_dev_ppp.h │ │ │ │ ├── pico_dhcp_client.h │ │ │ │ ├── pico_dhcp_common.h │ │ │ │ ├── pico_dns_client.c │ │ │ │ ├── pico_dns_client.h │ │ │ │ ├── pico_dns_common.c │ │ │ │ ├── pico_dns_common.h │ │ │ │ ├── pico_ethernet.c │ │ │ │ ├── pico_ethernet.h │ │ │ │ ├── pico_fragments.c │ │ │ │ ├── pico_fragments.h │ │ │ │ ├── pico_icmp4.h │ │ │ │ ├── pico_icmp6.h │ │ │ │ ├── pico_igmp.h │ │ │ │ ├── pico_ipfilter.h │ │ │ │ ├── pico_ipv4.c │ │ │ │ ├── pico_ipv4.h │ │ │ │ ├── pico_ipv6.h │ │ │ │ ├── pico_ipv6_nd.h │ │ │ │ ├── pico_mcast.h │ │ │ │ ├── pico_mld.h │ │ │ │ ├── pico_mm.h │ │ │ │ ├── pico_nat.h │ │ │ │ ├── pico_olsr.h │ │ │ │ ├── pico_socket_tcp.c │ │ │ │ ├── pico_socket_tcp.h │ │ │ │ ├── pico_socket_udp.c │ │ │ │ ├── pico_socket_udp.h │ │ │ │ ├── pico_strings.c │ │ │ │ ├── pico_strings.h │ │ │ │ ├── pico_tcp.c │ │ │ │ ├── pico_tcp.h │ │ │ │ ├── pico_udp.c │ │ │ │ └── pico_udp.h │ │ │ ├── rules │ │ │ │ ├── crc.mk │ │ │ │ ├── debug.mk │ │ │ │ ├── dhcp_client.mk │ │ │ │ ├── dhcp_server.mk │ │ │ │ ├── dns_client.mk │ │ │ │ ├── eth.mk │ │ │ │ ├── icmp4.mk │ │ │ │ ├── ipv4.mk │ │ │ │ ├── ipv4frag.mk │ │ │ │ ├── ppp.mk │ │ │ │ ├── tap.mk │ │ │ │ ├── tcp.mk │ │ │ │ ├── tun.mk │ │ │ │ └── udp.mk │ │ │ └── stack │ │ │ │ ├── pico_device.c │ │ │ │ ├── pico_frame.c │ │ │ │ ├── pico_md5.c │ │ │ │ ├── pico_protocol.c │ │ │ │ ├── pico_socket.c │ │ │ │ ├── pico_socket_multicast.c │ │ │ │ ├── pico_stack.c │ │ │ │ └── pico_tree.c │ │ └── xbrz │ │ │ ├── Changelog.txt │ │ │ ├── License.txt │ │ │ ├── xbrz.cpp │ │ │ ├── xbrz.h │ │ │ ├── xbrz_config.h │ │ │ └── xbrz_tools.h │ ├── lxdream │ │ ├── tacore.cpp │ │ └── tacore.h │ └── vba-arm │ │ └── arm-new.h ├── gui │ ├── gui.cpp │ ├── gui.h │ ├── gui_android.cpp │ ├── gui_android.h │ ├── gui_partials.h │ ├── gui_renderer.cpp │ ├── gui_renderer.h │ ├── gui_settings.cpp │ ├── gui_settings_about.cpp │ ├── gui_settings_advanced.cpp │ ├── gui_settings_audio.cpp │ ├── gui_settings_controls.cpp │ ├── gui_settings_general.cpp │ ├── gui_settings_social.cpp │ ├── gui_settings_video.cpp │ ├── gui_util.cpp │ ├── gui_util.h │ └── gui_welcome.cpp ├── hw │ ├── RegisterStruct.h │ ├── StaticForward.h │ ├── aica │ │ ├── aica.cpp │ │ ├── aica.h │ │ ├── aica_mem.h │ │ ├── aica_mmio.cpp │ │ ├── aica_mmio.h │ │ ├── dsp.cpp │ │ ├── dsp.h │ │ ├── dsp_arm64.cpp │ │ ├── dsp_backend.h │ │ ├── dsp_helpers.cpp │ │ ├── dsp_interp.cpp │ │ ├── dsp_x86.cpp │ │ ├── sgc_if.cpp │ │ └── sgc_if.h │ ├── arm7 │ │ ├── SoundCPU.cpp │ │ ├── SoundCPU.h │ │ ├── arm7.cpp │ │ ├── arm7.h │ │ ├── arm7_context.h │ │ ├── arm7_interpreter.cpp │ │ ├── arm7_jit_virt.cpp │ │ ├── arm7_jit_virt_arm32.cpp │ │ ├── arm7_jit_virt_arm64.cpp │ │ ├── arm7_jit_virt_backend.h │ │ ├── arm7_jit_virt_x86.cpp │ │ ├── virt_arm.cpp │ │ └── virt_arm.h │ ├── bba │ │ ├── VirtualNetwork.cpp │ │ ├── VirtualNetwork.h │ │ ├── bba.cpp │ │ ├── bba.h │ │ ├── bba_regs.h │ │ ├── ethernet.h │ │ ├── pcap_io.cpp │ │ ├── rtl8139c.cpp │ │ └── rtl8139c.h │ ├── flashrom │ │ └── flashrom.h │ ├── gdrom │ │ ├── README.md │ │ ├── disc_common.cpp │ │ ├── disc_common.h │ │ ├── gdrom_if.h │ │ ├── gdrom_response.cpp │ │ ├── gdromv3.cpp │ │ └── gdromv3.h │ ├── holly │ │ ├── holly_intc.cpp │ │ ├── holly_intc.h │ │ ├── sb.cpp │ │ ├── sb.h │ │ ├── sb_regs.h │ │ ├── sh4_mem_area0.cpp │ │ └── sh4_mem_area0.h │ ├── maple │ │ ├── maple_cfg.cpp │ │ ├── maple_cfg.h │ │ ├── maple_devs.cpp │ │ ├── maple_devs.h │ │ ├── maple_helper.cpp │ │ ├── maple_helper.h │ │ ├── maple_if.cpp │ │ └── maple_if.h │ ├── mem │ │ ├── _vmem.cpp │ │ └── _vmem.h │ ├── modem │ │ ├── README.md │ │ ├── dns.cpp │ │ ├── modem.cpp │ │ ├── modem.h │ │ ├── modem_regs.h │ │ ├── net_platform.h │ │ ├── picoppp.cpp │ │ └── picoppp.h │ ├── naomi │ │ ├── awave_regs.h │ │ ├── awcartridge.cpp │ │ ├── awcartridge.h │ │ ├── decrypt.cpp │ │ ├── decrypt.h │ │ ├── gdcartridge.cpp │ │ ├── gdcartridge.h │ │ ├── m1cartridge.cpp │ │ ├── m1cartridge.h │ │ ├── m4cartridge.cpp │ │ ├── m4cartridge.h │ │ ├── naomi.cpp │ │ ├── naomi.h │ │ ├── naomi_cart.cpp │ │ ├── naomi_cart.h │ │ ├── naomi_regs.h │ │ ├── naomi_roms.h │ │ └── naomi_roms_input.h │ ├── pvr │ │ ├── Renderer_if.cpp │ │ ├── Renderer_if.h │ │ ├── config.h │ │ ├── helper_classes.h │ │ ├── pvr_mem.cpp │ │ ├── pvr_mem.h │ │ ├── pvr_regs.cpp │ │ ├── pvr_regs.h │ │ ├── pvr_sb_regs.cpp │ │ ├── pvr_sb_regs.h │ │ ├── pvr_yuv.cpp │ │ ├── pvr_yuv.h │ │ ├── spg.cpp │ │ ├── spg.h │ │ ├── ta.cpp │ │ ├── ta.h │ │ ├── ta_const_df.h │ │ ├── ta_ctx.cpp │ │ ├── ta_ctx.h │ │ ├── ta_structs.h │ │ └── ta_vtx.cpp │ └── sh4 │ │ ├── SuperH4_impl.cpp │ │ ├── SuperH4_impl.h │ │ ├── dyna │ │ ├── blockmanager-extras.cpp │ │ ├── blockmanager.cpp │ │ ├── blockmanager.h │ │ ├── decoder.cpp │ │ ├── decoder.h │ │ ├── decoder_opcodes.h │ │ ├── driver.cpp │ │ ├── ngen.h │ │ ├── rec_config.h │ │ ├── regalloc.h │ │ ├── shil.cpp │ │ ├── shil.h │ │ └── shil_canonical.h │ │ ├── fsca-table.h │ │ ├── interpr │ │ ├── sh4_fpu.cpp │ │ ├── sh4_interpreter.cpp │ │ ├── sh4_opcodes.cpp │ │ └── sh4_opcodes.h │ │ ├── modules │ │ ├── bsc.cpp │ │ ├── ccn.cpp │ │ ├── ccn.h │ │ ├── cpg.cpp │ │ ├── dmac.cpp │ │ ├── dmac.h │ │ ├── intc.cpp │ │ ├── mmu.cpp │ │ ├── mmu.h │ │ ├── mmu_impl.h │ │ ├── modules.h │ │ ├── rtc.cpp │ │ ├── sci.cpp │ │ ├── scif.cpp │ │ ├── sh4_mod.h │ │ ├── tmu.cpp │ │ ├── tmu.h │ │ ├── ubc.cpp │ │ └── wince.h │ │ ├── sh4_core.h │ │ ├── sh4_core_regs.cpp │ │ ├── sh4_if.h │ │ ├── sh4_interpreter.h │ │ ├── sh4_interrupts.cpp │ │ ├── sh4_interrupts.h │ │ ├── sh4_mem.cpp │ │ ├── sh4_mem.h │ │ ├── sh4_mmio.h │ │ ├── sh4_mmr.cpp │ │ ├── sh4_mmr.h │ │ ├── sh4_opcode.h │ │ ├── sh4_opcode_list.cpp │ │ ├── sh4_opcode_list.h │ │ ├── sh4_rom.cpp │ │ ├── sh4_rom.h │ │ ├── sh4_sched.cpp │ │ └── sh4_sched.h ├── imgread │ ├── SCSIDEFS.H │ ├── cdi.cpp │ ├── chd.cpp │ ├── cue.cpp │ ├── gdi.cpp │ ├── imgread.h │ ├── imgread_common.cpp │ ├── imgread_common.h │ └── ioctl.cpp ├── input │ ├── gamepad.h │ ├── gamepad_device.cpp │ ├── gamepad_device.h │ ├── keyboard_device.cpp │ ├── keyboard_device.h │ ├── mapping.cpp │ └── mapping.h ├── jit │ ├── backend │ │ ├── arm32 │ │ │ ├── ngen_arm.S │ │ │ ├── ngen_arm.h │ │ │ └── rec_arm.cpp │ │ ├── arm64 │ │ │ ├── arm64_regalloc.h │ │ │ └── rec_arm64.cpp │ │ ├── cpp │ │ │ └── rec_cpp.cpp │ │ ├── x64 │ │ │ ├── rec_x64.cpp │ │ │ └── x64_regalloc.h │ │ └── x86 │ │ │ ├── rec_lin86_asm.S │ │ │ ├── rec_x86_asm.cpp │ │ │ ├── rec_x86_driver.cpp │ │ │ ├── rec_x86_il.inl │ │ │ └── rec_x86_ngen.h │ └── emitter │ │ ├── arm32 │ │ ├── E_Branches.h │ │ ├── E_DataOp.h │ │ ├── E_Extend.h │ │ ├── E_LoadStore.h │ │ ├── E_Misc.h │ │ ├── E_Multiply.h │ │ ├── E_Parallel.h │ │ ├── E_Special.h │ │ ├── E_Status.h │ │ ├── E_VDataOp.h │ │ ├── E_VLoadStore.h │ │ ├── E_VRegXfer.h │ │ ├── H_Branches.h │ │ ├── H_LoadStore.h │ │ ├── H_fp.h │ │ ├── H_psuedo.h │ │ ├── H_state.h │ │ ├── arm_coding.h │ │ ├── arm_disasm.h │ │ ├── arm_emitter.h │ │ └── arm_registers.h │ │ └── x86 │ │ ├── README.md │ │ ├── generated_class_names.h │ │ ├── generated_class_names_string.h │ │ ├── generated_descriptors.h │ │ ├── generated_indexes.h │ │ ├── x86_emitter.cpp │ │ ├── x86_emitter.h │ │ ├── x86_matcher.h │ │ ├── x86_op_classes.h │ │ ├── x86_op_encoder.h │ │ └── x86_op_table.h ├── libretro-common │ └── include │ │ └── libretro.h ├── libretro │ └── reicore │ │ └── libretro_proxy.cpp ├── libswirl.cpp ├── libswirl.h ├── license │ ├── bsd │ ├── dep_gpl │ ├── gpl │ └── lgpl ├── linux-dist │ ├── dispmanx.cpp │ ├── dispmanx.h │ ├── emscripten.cpp │ ├── emscripten.h │ ├── evdev.cpp │ ├── evdev.h │ ├── evdev_gamepad.h │ ├── joystick.cpp │ ├── joystick.h │ ├── main.cpp │ ├── main.h │ ├── x11.cpp │ ├── x11.h │ └── x11_keyboard.h ├── linux │ ├── common.cpp │ ├── context.cpp │ ├── context.h │ ├── nixprof │ │ └── nixprof.cpp │ ├── posix_vmem.cpp │ └── typedefs.h ├── oslib │ ├── audiobackend_alsa.cpp │ ├── audiobackend_coreaudio.cpp │ ├── audiobackend_directsound.cpp │ ├── audiobackend_libao.cpp │ ├── audiobackend_libretro.cpp │ ├── audiobackend_omx.cpp │ ├── audiobackend_oss.cpp │ ├── audiobackend_pulseaudio.cpp │ ├── audiobackend_sdl2.cpp │ ├── audiobackend_xaudio.cpp │ ├── audiostream.cpp │ ├── audiostream.h │ ├── context.h │ ├── oslib.h │ ├── posix │ │ └── threading.cpp │ ├── threading.h │ └── windows │ │ └── threading.cpp ├── profiler │ ├── profiler.cpp │ └── profiler.h ├── reios │ ├── descrambl.cpp │ ├── descrambl.h │ ├── gdrom_hle.cpp │ ├── gdrom_hle.h │ ├── reios.cpp │ ├── reios.h │ ├── reios_elf.cpp │ └── reios_elf.h ├── rend │ ├── TexCache.cpp │ ├── TexCache.h │ ├── d3d11 │ │ └── d3d11.cpp │ ├── gl4 │ │ ├── abuffer.cpp │ │ ├── gl4.h │ │ ├── gl4draw.cpp │ │ ├── gl4rend.cpp │ │ └── gl4tex.cpp │ ├── gles │ │ ├── CustomTexture.cpp │ │ ├── CustomTexture.h │ │ ├── glcache.h │ │ ├── gles.h │ │ ├── glesdraw.cpp │ │ ├── glesrend.cpp │ │ ├── glestex.cpp │ │ ├── imgui_impl_opengl3.cpp │ │ └── imgui_impl_opengl3.h │ ├── norend │ │ └── norend.cpp │ ├── rend.h │ └── soft │ │ ├── refrend_base.cpp │ │ ├── refrend_base.h │ │ ├── refrend_debug.cpp │ │ ├── refrend_regs.h │ │ ├── refsw.cpp │ │ ├── refsw.h │ │ ├── refsw_pixel.cpp │ │ ├── refsw_pixel.h │ │ ├── refsw_tsp_init.inl │ │ ├── slowsoftrend.cpp │ │ └── softrend.cpp ├── scripting │ ├── lua_bindings.cpp │ ├── lua_bindings.h │ └── lua_loader.cpp ├── sdl │ ├── sdl.cpp │ ├── sdl.h │ ├── sdl_gamepad.h │ └── sdl_keyboard.h ├── serialize.cpp ├── serialize.h ├── stdclass.cpp ├── stdclass.h ├── types.h ├── utils │ ├── bit_utils.hpp │ ├── cloudrom.cpp │ ├── cloudrom.h │ ├── glinit │ │ ├── egl │ │ │ ├── egl.cpp │ │ │ └── egl.h │ │ ├── glx │ │ │ ├── glx.cpp │ │ │ └── glx.h │ │ ├── sdl │ │ │ ├── sdl.cpp │ │ │ └── sdl.h │ │ └── wgl │ │ │ ├── wgl.cpp │ │ │ └── wgl.h │ ├── glwrap │ │ ├── GL4.h │ │ ├── GLES.h │ │ ├── gl3w-es.cpp │ │ ├── gl3w.cpp │ │ └── gl3w.h │ ├── http.cpp │ ├── http.h │ ├── string.h │ └── string_utils.hpp ├── version.h.in └── windows │ ├── win_common.cpp │ ├── win_common.h │ ├── win_keyboard.h │ ├── win_vmem.cpp │ ├── winmain.cpp │ └── xinput_gamepad.h ├── reicast ├── LICENSE ├── README.md ├── android-studio │ ├── build.gradle │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── ic_launcher-web.png │ ├── icons │ │ └── cd.pdn │ ├── psd │ │ ├── dark_texture.psd │ │ ├── disk_mipmap.psd │ │ └── icon_drawable.psd │ ├── reicast │ │ ├── build.gradle │ │ ├── libs │ │ │ ├── image-uniload.jar │ │ │ └── ouya-sdk.jar │ │ ├── proguard-rules.txt │ │ └── src │ │ │ ├── debug │ │ │ └── res │ │ │ │ ├── drawable-ldpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── drawable-mdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── drawable-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ └── drawable-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── dreamcast │ │ │ └── AndroidManifest.xml │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── assets │ │ │ │ └── buttons.png │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ ├── android │ │ │ │ │ └── util │ │ │ │ │ │ └── FileUtils.java │ │ │ │ │ └── reicast │ │ │ │ │ └── emulator │ │ │ │ │ ├── BaseGLActivity.java │ │ │ │ │ ├── Emulator.java │ │ │ │ │ ├── FileBrowser.java │ │ │ │ │ ├── NativeGLActivity.java │ │ │ │ │ ├── config │ │ │ │ │ └── Config.java │ │ │ │ │ ├── debug │ │ │ │ │ └── GenerateLogs.java │ │ │ │ │ ├── emu │ │ │ │ │ ├── AudioBackend.java │ │ │ │ │ ├── JNIdc.java │ │ │ │ │ ├── NativeGLView.java │ │ │ │ │ └── VirtualJoystickDelegate.java │ │ │ │ │ └── periph │ │ │ │ │ ├── InputDeviceManager.java │ │ │ │ │ ├── SipEmulator.java │ │ │ │ │ └── VJoy.java │ │ │ ├── jni │ │ │ │ ├── Android.mk │ │ │ │ └── Application.mk │ │ │ └── res │ │ │ │ ├── drawable-hdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── drawable-ldpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── drawable-mdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── drawable-xhdpi │ │ │ │ ├── ic_banner.png │ │ │ │ └── ic_launcher.png │ │ │ │ ├── drawable-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── drawable │ │ │ │ └── background_dark.xml │ │ │ │ ├── mipmap │ │ │ │ └── texture_dark.png │ │ │ │ ├── values │ │ │ │ ├── colors.xml │ │ │ │ ├── donottranslate.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ │ └── xml │ │ │ │ └── provider_paths.xml │ │ │ └── naomi │ │ │ ├── AndroidManifest.xml │ │ │ └── res │ │ │ └── values │ │ │ └── donottranslate.xml │ ├── settings.gradle │ ├── travis-build.sh │ └── travis-release.sh ├── apple │ ├── emulator-ios │ │ ├── emulator │ │ │ ├── AboutViewController.h │ │ │ ├── AboutViewController.m │ │ │ ├── AppDelegate.h │ │ │ ├── AppDelegate.m │ │ │ ├── BrowserTableViewController.h │ │ │ ├── BrowserTableViewController.m │ │ │ ├── CloudVMUViewController.h │ │ │ ├── CloudVMUViewController.m │ │ │ ├── DiskViewCell.h │ │ │ ├── DiskViewCell.m │ │ │ ├── EmulatorView.h │ │ │ ├── EmulatorView.mm │ │ │ ├── EmulatorViewController.h │ │ │ ├── EmulatorViewController.mm │ │ │ ├── Images.xcassets │ │ │ │ ├── AppIcon.appiconset │ │ │ │ │ └── Contents.json │ │ │ │ └── LaunchImage.launchimage │ │ │ │ │ └── Contents.json │ │ │ ├── Images │ │ │ │ ├── 210-octocat.png │ │ │ │ ├── 210-octocat@2x.png │ │ │ │ ├── 210-twitterbird.png │ │ │ │ ├── 210-twitterbird@2x.png │ │ │ │ ├── ABXYPad.png │ │ │ │ ├── ABXYPad@2x.png │ │ │ │ ├── DPad.png │ │ │ │ ├── DPad@2x.png │ │ │ │ ├── JoystickBackground.png │ │ │ │ ├── JoystickBackground@2x.png │ │ │ │ ├── JoystickButton.png │ │ │ │ ├── JoystickButton@2x.png │ │ │ │ ├── LTrigger.png │ │ │ │ ├── LTrigger@2x.png │ │ │ │ ├── RTrigger.png │ │ │ │ ├── RTrigger@2x.png │ │ │ │ ├── Start.png │ │ │ │ ├── Start@2x.png │ │ │ │ ├── disk_unknown.png │ │ │ │ ├── menuback.png │ │ │ │ ├── menuback@2x.png │ │ │ │ ├── menuicon.png │ │ │ │ └── menuicon@2x.png │ │ │ ├── InputViewController.h │ │ │ ├── InputViewController.m │ │ │ ├── MainStoryboard.storyboard │ │ │ ├── PadViewController.h │ │ │ ├── PadViewController.m │ │ │ ├── PadViewController.xib │ │ │ ├── PathsViewController.h │ │ │ ├── PathsViewController.m │ │ │ ├── SWRevealViewController.h │ │ │ ├── SWRevealViewController.m │ │ │ ├── SettingsViewController.h │ │ │ ├── SettingsViewController.m │ │ │ ├── Shaders │ │ │ │ ├── Shader.fsh │ │ │ │ └── Shader.vsh │ │ │ ├── SideDrawerViewController.h │ │ │ ├── SideDrawerViewController.m │ │ │ ├── iCade-iOS │ │ │ │ ├── LICENSE │ │ │ │ ├── iCadeReaderView.h │ │ │ │ ├── iCadeReaderView.m │ │ │ │ └── iCadeState.h │ │ │ ├── ios_main.mm │ │ │ ├── main.m │ │ │ ├── reicast-ios-Info.plist │ │ │ ├── reicast-ios-Prefix.pch │ │ │ └── reicast.entitlements │ │ ├── reicast-ios-Prefix.pch │ │ ├── reicast-ios.xcodeproj │ │ │ ├── project.pbxproj │ │ │ └── project.xcworkspace │ │ │ │ └── contents.xcworkspacedata │ │ └── reicast-ios │ │ │ └── Images.xcassets │ │ │ ├── AppIcon.appiconset │ │ │ ├── Contents.json │ │ │ ├── Icon-60@2x.png │ │ │ └── Icon-76@2x.png │ │ │ └── LaunchImage.launchimage │ │ │ └── Contents.json │ ├── emulator-osx │ │ ├── deps │ │ │ └── libomp │ │ │ │ ├── LICENSE.txt │ │ │ │ ├── VERSION-9.0.1 │ │ │ │ ├── include │ │ │ │ ├── omp-tools.h │ │ │ │ ├── omp.h │ │ │ │ └── ompt.h │ │ │ │ └── lib │ │ │ │ └── libomp.a │ │ ├── emulator-osx │ │ │ ├── AppDelegate.h │ │ │ ├── AppDelegate.mm │ │ │ ├── AppIcon.icns │ │ │ ├── ConsoleViewController.h │ │ │ ├── ConsoleViewController.m │ │ │ ├── EmuGLView.h │ │ │ ├── EmuGLView.m │ │ │ ├── Images.xcassets │ │ │ │ └── AppIcon.appiconset │ │ │ │ │ ├── Contents.json │ │ │ │ │ ├── Icon-128.png │ │ │ │ │ ├── Icon-16.png │ │ │ │ │ ├── Icon-32@1x copy-1.png │ │ │ │ │ ├── Icon-32@1x copy.png │ │ │ │ │ ├── Icon-64.png │ │ │ │ │ ├── Icon-76@2x-1.png │ │ │ │ │ └── Icon-76@2x.png │ │ │ ├── Info.plist │ │ │ ├── MainMenu.h │ │ │ ├── MainMenu.m │ │ │ ├── OSXGamepadDevice.h │ │ │ ├── OSXKeyboardDevice.h │ │ │ ├── build_app_bundle.sh │ │ │ ├── input.h │ │ │ ├── input.mm │ │ │ └── main.m │ │ ├── emulator-osxTests │ │ │ ├── Info.plist │ │ │ ├── emulator_osxTests.h │ │ │ └── emulator_osxTests.m │ │ └── reicast-osx.xcodeproj │ │ │ ├── project.pbxproj │ │ │ └── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ └── reicast.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ ├── IDEWorkspaceChecks.plist │ │ └── xcschemes │ │ ├── reicast-ios.xcscheme │ │ └── reicast-osx.xcscheme ├── cmake │ ├── GetGitRevisionDescription.cmake │ ├── GetGitRevisionDescription.cmake.in │ ├── android.cmake │ ├── config.cmake │ ├── devkitA64.cmake │ ├── ps4sdk.cmake │ └── toolchains │ │ └── Linux-x86.cmake ├── emscripten │ ├── Makefile │ ├── emu.cfg │ └── ui.html ├── imgs │ ├── 3675.png │ └── icon.png ├── linux │ ├── Makefile │ ├── configure-platform.make │ ├── detect-platform.make │ ├── gcwz │ │ ├── default.gcw0.desktop │ │ └── icon-32.png │ ├── man │ │ ├── reicast-joyconfig.1 │ │ └── reicast.1 │ ├── mappings │ │ ├── controller_gcwz.cfg │ │ ├── controller_generic.cfg │ │ ├── controller_pandora.cfg │ │ ├── controller_xboxdrv.cfg │ │ ├── controller_xpad.cfg │ │ └── keyboard.cfg │ ├── reicast.desktop │ ├── reicast.png │ └── tools │ │ └── reicast-joyconfig.py └── windows │ ├── reicast.ico │ ├── reicast.rc │ └── resource.h ├── reidbg ├── MainWindow.cs ├── Program.cs ├── Properties │ └── AssemblyInfo.cs ├── RefRend.cs ├── gtk-gui │ ├── MainWindow.cs │ ├── generated.cs │ └── gui.stetic ├── reidbg.csproj └── reidbg.sln ├── reprof ├── 3rdParty │ ├── GraphSharp.Contracts.dll │ ├── GraphSharp.Controls.dll │ ├── GraphSharp.Sample.exe │ ├── GraphSharp.dll │ ├── Microsoft.Contracts.dll │ ├── QuickGraph.dll │ ├── RibbonControlsLibrary.dll │ ├── System.Windows.Controls.Theming.ExpressionDark.dll │ ├── System.Windows.Controls.Theming.dll │ ├── WPFExtensions.dll │ └── WPFToolkit.dll ├── LICENSE ├── README.md ├── deasm.sh ├── reprof.sln └── reprof │ ├── GraphSharpControl.xaml │ ├── GraphSharpControl.xaml.cs │ ├── MainForm.Designer.cs │ ├── MainForm.cs │ ├── MainForm.resx │ ├── Program.cs │ ├── Properties │ └── AssemblyInfo.cs │ └── reprof.csproj ├── secure.tar.enc ├── snap ├── README.md └── snapcraft.yaml ├── tests └── files │ └── test_gdis │ ├── a │ ├── cs.gdi │ └── tracks │ │ ├── cs01.bin │ │ ├── cs02.raw │ │ └── cs03.bin │ ├── b │ ├── cs.gdi │ ├── cs01.bin │ ├── cs02.raw │ └── cs03.bin │ ├── c │ ├── cs.gdi │ └── tracks │ │ ├── cs01.bin │ │ ├── cs02.raw │ │ └── cs03.bin │ └── d │ ├── cs (0,1).bin │ ├── cs.gdi │ ├── cs02.raw │ └── cs03.bin ├── versioning ├── README.md ├── changelog-beta.sh ├── changelog-stable.sh ├── push-beta.sh └── release-beta.sh └── wercker.yml /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | # github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] 4 | patreon: emudev 5 | # open_collective: # Replace with a single Open Collective username 6 | # ko_fi: # Replace with a single Ko-fi username 7 | # tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 8 | # community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | # liberapay: # Replace with a single Liberapay username 10 | # issuehunt: # Replace with a single IssueHunt username 11 | # otechie: # Replace with a single Otechie username 12 | # custom: # Replace with a single custom sponsorship URL 13 | -------------------------------------------------------------------------------- /.lgtm.yml: -------------------------------------------------------------------------------- 1 | extraction: 2 | cpp: 3 | index: 4 | build_command: cd reicast/linux && make 5 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Project EOL 2 | =========== 3 | Hey there, 4 | 5 | This project is no longer active. 6 | 7 | Please, use another Dreamcast Emulator that is activelly developed :) 8 | 9 | Cheers, 10 | ~skmp 11 | -------------------------------------------------------------------------------- /WorkDir/SDL.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/WorkDir/SDL.dll -------------------------------------------------------------------------------- /WorkDir/data/fsca-table.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/WorkDir/data/fsca-table.bin -------------------------------------------------------------------------------- /WorkDir/data/vmu_default.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/WorkDir/data/vmu_default.bin -------------------------------------------------------------------------------- /WorkDir/glew32.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/WorkDir/glew32.dll -------------------------------------------------------------------------------- /WorkDir/webui/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/WorkDir/webui/favicon.ico -------------------------------------------------------------------------------- /aica-dsp-asm/build.sh: -------------------------------------------------------------------------------- 1 | g++ main.cpp ../libswirl/hw/aica/dsp_helpers.cpp -I.. -I../libswirl -DTARGET_LINUX_x64 -o aica-dsp-asm 2 | -------------------------------------------------------------------------------- /aica-dsp-asm/build_linux.sh: -------------------------------------------------------------------------------- 1 | g++ main.cpp ../libswirl/hw/aica/dsp_helpers.cpp -I.. -I../libswirl -DTARGET_LINUX_x64 -o aica-dsp-asm 2 | -------------------------------------------------------------------------------- /aica-dsp-asm/build_macos.sh: -------------------------------------------------------------------------------- 1 | g++ main.cpp ../libswirl/hw/aica/dsp_helpers.cpp -I.. -I../libswirl -DTARGET_OSX -std=c++11 -o aica-dsp-asm 2 | -------------------------------------------------------------------------------- /docs/DreamCast_Specs.md: -------------------------------------------------------------------------------- 1 | # SEGA Dreamcast Specifications 2 | 3 | ### CPU Specifications: 4 | - **Processor**: Hitachi SH-4 (128-bit) 5 | - **Processor Speed**: 200 MHz 6 | - **Millions of instructions per second**: 360 7 | - **Floating-point operations per seccond**: 1.4 billion 8 | - **Main RAM**: 16MB SDRAM 9 | 10 | ### GPU Specifications: 11 | - **Processor**: NEC PowerVR2 DC 12 | - **Polygons per second**: 7.0 Million 13 | - **Video RAM**: 8 MiB 4x16 Bit 14 | - **Fillrate**: 100 MPixels/s 15 | 16 | ### Audio Specifications: 17 | - **Processor**: Yamaha AICA (32-bit) 18 | - **Processor Speed**: 22.5 MHz 19 | - **Co-Processor**: ARM7 RISC 20 | - **Co-Processor Speed**: 45 MHz 21 | - **Channels**: 64 22 | - **Audio RAM**: 2 MiB (16-bit) 23 | -------------------------------------------------------------------------------- /gdtool/gdtool.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 11.00 3 | # Visual Studio 2010 4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gdtool", "gdtool.vcxproj", "{D56D49D9-3FA6-4463-8C96-925956E21FB0}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|Win32 = Debug|Win32 9 | Release|Win32 = Release|Win32 10 | EndGlobalSection 11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 12 | {D56D49D9-3FA6-4463-8C96-925956E21FB0}.Debug|Win32.ActiveCfg = Debug|Win32 13 | {D56D49D9-3FA6-4463-8C96-925956E21FB0}.Debug|Win32.Build.0 = Debug|Win32 14 | {D56D49D9-3FA6-4463-8C96-925956E21FB0}.Release|Win32.ActiveCfg = Release|Win32 15 | {D56D49D9-3FA6-4463-8C96-925956E21FB0}.Release|Win32.Build.0 = Release|Win32 16 | EndGlobalSection 17 | GlobalSection(SolutionProperties) = preSolution 18 | HideSolutionNode = FALSE 19 | EndGlobalSection 20 | EndGlobal 21 | -------------------------------------------------------------------------------- /gdtool/gdtool.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -hash q:\ika.chd 5 | WindowsLocalDebugger 6 | 7 | -------------------------------------------------------------------------------- /gdtool/src/cdromfs.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | struct cdromtime { 4 | unsigned char years; /* number of years since 1900 */ 5 | unsigned char month; /* month of the year */ 6 | unsigned char day; /* day of month */ 7 | unsigned char hour; /* hour of day */ 8 | unsigned char min; /* minute of the hour */ 9 | unsigned char sec; /* second of the minute */ 10 | unsigned char tz; /* timezones, in quarter hour increments */ 11 | /* or, longitude in 3.75 of a degree */ 12 | }; 13 | 14 | 15 | typedef void data_callback(void* ctx, void* data, int size); 16 | 17 | struct cdimage { 18 | virtual void seek(int to) = 0; 19 | 20 | virtual int read(void* to, int count) = 0 ; 21 | virtual ~cdimage() { } 22 | }; 23 | 24 | 25 | bool parse_cdfs(FILE* w, cdimage* cdio, const char* prefix, int offs, bool first); -------------------------------------------------------------------------------- /gdtool/src/cdromfs_imp.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "cdromfs.h" 3 | 4 | 5 | /* cdromfs.h: various definitions for CDROM filesystems. */ 6 | 7 | #define VD_LSN 16 /* first logical sector of volume descriptor table */ 8 | #define CDROM_LSECSZ 2048 /* initial logical sector size of a CDROM */ 9 | 10 | #define HSF 1 11 | #define ISO 2 12 | 13 | char *cdromfmtnames[] = { 14 | "unknown format", 15 | "High Sierra", 16 | "ISO - 9660" 17 | }; 18 | char *voltypenames[] = { 19 | "Boot Record", 20 | "Standard File Structure", 21 | "Coded Character Set File Structure", 22 | "Unspecified File Structure", 23 | }; 24 | /* rude translation routines for interpreting strings, words, halfwords */ 25 | #define ISO_AS(s) (iso_astring(s, sizeof(s))) 26 | #define ISO_WD(s) (*(unsigned *)(s)) 27 | #define ISO_HWD(s) (*(unsigned short *)(s)) 28 | #define ISO_BY(s) (*(unsigned char *)(s)) 29 | 30 | #define NVOLTYPENAMES (sizeof(voltypenames)/sizeof(char *)) 31 | 32 | #define CD_FLAGBITS "vdaEp m" /* file flag bits */ 33 | /* Handy macro's for block calculation */ 34 | #define lbntob(fs, n) ((fs)->lbs * (n)) 35 | #define btolbn(fs, n) ((fs)->lbs * (n)) 36 | #define trunc_lbn(fs, n) ((n) - ((n) % (fs)->lbs) 37 | #define roundup(n, d) ((((n) + (d)) / (d)) * (d)) -------------------------------------------------------------------------------- /issue_template.md: -------------------------------------------------------------------------------- 1 | **Please Note: This form is the minimum required information for submitting bugs.** 2 | **Removing this form may lead to your issue being closed until it is completed.** 3 | 4 | | Platform | Branch | Hash | CIDL | 5 | | ------ | ------ | ---- | ---- | 6 | | Installed OS and version (ie. Android 8.0) | Branch (or Google Play) | Hashtag (skip if unknown) | Downloaded from build site? | 7 | 8 | **_Description of the Issue_** 9 | 10 | Add a short, concise description of the issue here 11 | 12 | **_Debugging Steps Tested_** 13 | 14 | * Fill in any steps already tried here 15 | * Begin each new line with an asterisk 16 | * If no steps are required, please skip 17 | 18 | **_Logs Gathered_** 19 | 20 | ``` 21 | 22 | Please paste the contents of the log / logs here 23 | You may leave this field blank if you have none. 24 | 25 | ``` 26 | 27 | 28 | **_Screenshots_** 29 | 30 | (Replace this line with any issue screenshots) 31 | 32 | - [ ] Place an X in the box to confirm you have filled in this form 33 | -------------------------------------------------------------------------------- /libretro_data/config/Reicast/Reicast.cfg: -------------------------------------------------------------------------------- 1 | audio_max_timing_skew = "0.050000" 2 | menu_wallpaper_opacity = "0.300000" 3 | video_message_pos_x = "0.050000" 4 | video_message_pos_y = "0.050000" 5 | video_scale = "1.0" 6 | video_windowed_position_height = "640" 7 | video_windowed_position_width = "480" 8 | video_fullscreen = "false" 9 | video_fullscreen_x = "640" 10 | video_fullscreen_y = "480" 11 | video_aspect_ratio = "-1.000000" 12 | video_aspect_ratio_auto = "false" 13 | custom_viewport_height = "640" 14 | custom_viewport_width = "480" 15 | video_swap_interval = "1" 16 | video_threaded = "false" 17 | video_vsync = "true" 18 | -------------------------------------------------------------------------------- /libretro_data/config/Reicast/Reicast.opt: -------------------------------------------------------------------------------- 1 | libreicast_resolution = "1024x768" 2 | -------------------------------------------------------------------------------- /libretro_data/cores/libreicast.info: -------------------------------------------------------------------------------- 1 | display_name = "Sega - Dreamcast (Reicast)" 2 | authors = "skmp" 3 | supported_extensions = "chd|cdi|cue|gdi" 4 | corename = "ReicastEmu" 5 | manufacturer = "Sega" 6 | categories = "Emulator" 7 | systemname = "Sega Dreamcast" 8 | systemid = "dreamcast" 9 | database = "Sega - Dreamcast" 10 | license = "BSD" 11 | permissions = "" 12 | display_version = "Latest" 13 | supports_no_game = "false" 14 | firmware_count = 2 15 | firmware0_desc = "dc/dc_boot.bin (Dreamcast BIOS)" 16 | firmware0_path = "dc/dc_boot.bin" 17 | firmware0_opt = "false" 18 | firmware1_desc = "dc/dc_flash.bin (Date/Time/Language)" 19 | firmware1_path = "dc/dc_flash.bin" 20 | firmware1_opt = "false" 21 | notes = "(!) dc_boot.bin (md5): e10c53c2f8b90bab96ead2d368858623|(!) dc_flash.bin (md5): 0a93f7940c455905bea6e392dfde92a4" 22 | required_hw_api = "OpenGL Core >= 3.0 | OpenGL ES >= 2.0" 23 | -------------------------------------------------------------------------------- /libswirl/.gitignore: -------------------------------------------------------------------------------- 1 | /version.h 2 | -------------------------------------------------------------------------------- /libswirl/README.md: -------------------------------------------------------------------------------- 1 | # core/libdreamcast 2 | =========== 3 | 4 | Here lies the core of our codebase. Everything that's OS inspecific rests here. 5 | ** Please check per directory README for more info ** 6 | 7 | ### Some rudimentary categories are: 8 | - hw -- DC Hardware Components Implementation 9 | - nullDC.cpp -- NullDC, thy mighty child (also referenced as "debugger") 10 | - emitter -- Cookie machine 11 | - khronos -- Vulkan stuff 12 | - oslib -- Codebase abstraction effort 13 | - cfg -- Configuration backend structure 14 | - reios -- (Our)Implementation of the DreamCast BIOS (Not functional) 15 | - deps -- External C libraries (hackish, hand-written versions) 16 | -------------------------------------------------------------------------------- /libswirl/android/Android.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | /* 4 | This file is part of libswirl 5 | */ 6 | #include "license/bsd" 7 | 8 | void android_RecreateView(); -------------------------------------------------------------------------------- /libswirl/android/utils.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #include "types.h" 8 | #include "deps/libzip/zip.h" 9 | 10 | zip* APKArchive; 11 | void setAPK (const char* apkPath) { 12 | LOGI("Loading APK %s", apkPath); 13 | APKArchive = zip_open(apkPath, 0, NULL); 14 | if (APKArchive == NULL) { 15 | LOGE("Error loading APK"); 16 | return; 17 | } 18 | 19 | //Just for debug, print APK contents 20 | int numFiles = zip_get_num_files(APKArchive); 21 | for (int i=0; iOpen(base_path.c_str()) || sz_archive->Open((base_path + ".7z").c_str()) || sz_archive->Open((base_path + ".7Z").c_str())) 20 | return sz_archive; 21 | delete sz_archive; 22 | 23 | Archive *zip_archive = new ZipArchive(); 24 | if (zip_archive->Open(base_path.c_str()) || zip_archive->Open((base_path + ".zip").c_str()) || zip_archive->Open((base_path + ".ZIP").c_str())) 25 | return zip_archive; 26 | delete zip_archive; 27 | #endif 28 | 29 | return NULL; 30 | } 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /libswirl/archive/archive.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | original code by flyinghead 4 | */ 5 | #include "license/bsd" 6 | 7 | #pragma once 8 | #include "types.h" 9 | 10 | class ArchiveFile 11 | { 12 | public: 13 | virtual ~ArchiveFile() {} 14 | virtual u32 Read(void *buffer, u32 length) = 0; 15 | }; 16 | 17 | class Archive 18 | { 19 | public: 20 | virtual ~Archive() {} 21 | virtual ArchiveFile *OpenFile(const char *name) = 0; 22 | 23 | friend Archive *OpenArchive(const char *path); 24 | 25 | private: 26 | virtual bool Open(const char *name) = 0; 27 | }; 28 | 29 | Archive *OpenArchive(const char *path); 30 | -------------------------------------------------------------------------------- /libswirl/deps/chdr/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 | typedef uint32_t UINT32; 11 | typedef uint16_t UINT16; 12 | typedef uint8_t UINT8; 13 | 14 | typedef int64_t INT64; 15 | typedef int32_t INT32; 16 | typedef int16_t INT16; 17 | typedef int8_t INT8; 18 | 19 | #include "../coreio/coreio.h" 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /libswirl/deps/coreio/coreio.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | //#define core_file FILE 5 | typedef void* core_file; 6 | 7 | #ifdef __cplusplus 8 | extern "C" { 9 | #endif 10 | 11 | core_file* core_fopen(const char* filename); 12 | size_t core_fseek(core_file* fc, size_t offs, size_t origin); 13 | int core_fread(core_file* fc, void* buff, size_t len); 14 | int core_fclose(core_file* fc); 15 | size_t core_fsize(core_file* fc); 16 | size_t core_ftell(core_file* fc); 17 | 18 | #ifdef __cplusplus 19 | } 20 | #endif -------------------------------------------------------------------------------- /libswirl/deps/dirent/dirent.h: -------------------------------------------------------------------------------- 1 | #ifndef DIRENT_INCLUDED 2 | #define DIRENT_INCLUDED 3 | 4 | /* 5 | 6 | Declaration of POSIX directory browsing functions and types for Win32. 7 | 8 | Author: Kevlin Henney (kevlin@acm.org, kevlin@curbralan.com) 9 | History: Created March 1997. Updated June 2003. 10 | Rights: See end of file. 11 | 12 | */ 13 | 14 | #ifdef __cplusplus 15 | extern "C" 16 | { 17 | #endif 18 | 19 | typedef struct DIR DIR; 20 | 21 | struct dirent 22 | { 23 | char *d_name; 24 | }; 25 | 26 | DIR *opendir(const char *); 27 | int closedir(DIR *); 28 | struct dirent *readdir(DIR *); 29 | void rewinddir(DIR *); 30 | 31 | /* 32 | 33 | Copyright Kevlin Henney, 1997, 2003. All rights reserved. 34 | 35 | Permission to use, copy, modify, and distribute this software and its 36 | documentation for any purpose is hereby granted without fee, provided 37 | that this copyright and permissions notice appear in all copies and 38 | derivatives. 39 | 40 | This software is supplied "as is" without express or implied warranty. 41 | 42 | But that said, if there are any problems please get in touch. 43 | 44 | */ 45 | 46 | #ifdef __cplusplus 47 | } 48 | #endif 49 | 50 | #endif 51 | -------------------------------------------------------------------------------- /libswirl/deps/khronos/GLES2/gl2platform.h: -------------------------------------------------------------------------------- 1 | #ifndef __gl2platform_h_ 2 | #define __gl2platform_h_ 3 | 4 | /* $Revision: 23328 $ on $Date:: 2013-10-02 02:28:28 -0700 #$ */ 5 | 6 | /* 7 | * This document is licensed under the SGI Free Software B License Version 8 | * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ . 9 | */ 10 | 11 | /* Platform-specific types and definitions for OpenGL ES 2.X gl2.h 12 | * 13 | * Adopters may modify khrplatform.h and this file to suit their platform. 14 | * You are encouraged to submit all modifications to the Khronos group so that 15 | * they can be included in future versions of this file. Please submit changes 16 | * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla) 17 | * by filing a bug against product "OpenGL-ES" component "Registry". 18 | */ 19 | 20 | #include 21 | 22 | #ifndef GL_APICALL 23 | #define GL_APICALL KHRONOS_APICALL 24 | #endif 25 | 26 | #ifndef GL_APIENTRY 27 | #define GL_APIENTRY KHRONOS_APIENTRY 28 | #endif 29 | 30 | #endif /* __gl2platform_h_ */ -------------------------------------------------------------------------------- /libswirl/deps/khronos/GLES3/gl3platform.h: -------------------------------------------------------------------------------- 1 | #ifndef __gl3platform_h_ 2 | #define __gl3platform_h_ 3 | 4 | /* $Revision: 23328 $ on $Date:: 2013-10-02 02:28:28 -0700 #$ */ 5 | 6 | /* 7 | * This document is licensed under the SGI Free Software B License Version 8 | * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ . 9 | */ 10 | 11 | /* Platform-specific types and definitions for OpenGL ES 3.X gl3.h 12 | * 13 | * Adopters may modify khrplatform.h and this file to suit their platform. 14 | * You are encouraged to submit all modifications to the Khronos group so that 15 | * they can be included in future versions of this file. Please submit changes 16 | * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla) 17 | * by filing a bug against product "OpenGL-ES" component "Registry". 18 | */ 19 | 20 | #include "../KHR/khrplatform.h" 21 | 22 | #ifndef GL_APICALL 23 | #define GL_APICALL KHRONOS_APICALL 24 | #endif 25 | 26 | #ifndef GL_APIENTRY 27 | #define GL_APIENTRY KHRONOS_APIENTRY 28 | #endif 29 | 30 | #endif /* __gl3platform_h_ */ -------------------------------------------------------------------------------- /libswirl/deps/lua/README.md: -------------------------------------------------------------------------------- 1 | 2 | This is Lua 5.3.5, released on 26 Jun 2018. 3 | 4 | For installation instructions, license details, and 5 | further information about Lua, see doc/readme.html. 6 | 7 | -------------------------------------------------------------------------------- /libswirl/deps/lua/lapi.h: -------------------------------------------------------------------------------- 1 | /* 2 | ** $Id: lapi.h,v 2.9.1.1 2017/04/19 17:20:42 roberto Exp $ 3 | ** Auxiliary functions from Lua API 4 | ** See Copyright Notice in lua.h 5 | */ 6 | 7 | #ifndef lapi_h 8 | #define lapi_h 9 | 10 | 11 | #include "llimits.h" 12 | #include "lstate.h" 13 | 14 | #define api_incr_top(L) {L->top++; api_check(L, L->top <= L->ci->top, \ 15 | "stack overflow");} 16 | 17 | #define adjustresults(L,nres) \ 18 | { if ((nres) == LUA_MULTRET && L->ci->top < L->top) L->ci->top = L->top; } 19 | 20 | #define api_checknelems(L,n) api_check(L, (n) < (L->top - L->ci->func), \ 21 | "not enough elements in the stack") 22 | 23 | 24 | #endif 25 | -------------------------------------------------------------------------------- /libswirl/deps/lua/lprefix.h: -------------------------------------------------------------------------------- 1 | /* 2 | ** $Id: lprefix.h,v 1.2.1.1 2017/04/19 17:20:42 roberto Exp $ 3 | ** Definitions for Lua code that must come before any other header file 4 | ** See Copyright Notice in lua.h 5 | */ 6 | 7 | #ifndef lprefix_h 8 | #define lprefix_h 9 | 10 | 11 | /* 12 | ** Allows POSIX/XSI stuff 13 | */ 14 | #if !defined(LUA_USE_C89) /* { */ 15 | 16 | #if !defined(_XOPEN_SOURCE) 17 | #define _XOPEN_SOURCE 600 18 | #elif _XOPEN_SOURCE == 0 19 | #undef _XOPEN_SOURCE /* use -D_XOPEN_SOURCE=0 to undefine it */ 20 | #endif 21 | 22 | /* 23 | ** Allows manipulation of large files in gcc and some other compilers 24 | */ 25 | #if !defined(LUA_32BITS) && !defined(_FILE_OFFSET_BITS) 26 | #define _LARGEFILE_SOURCE 1 27 | #define _FILE_OFFSET_BITS 64 28 | #endif 29 | 30 | #endif /* } */ 31 | 32 | 33 | /* 34 | ** Windows stuff 35 | */ 36 | #if defined(_WIN32) /* { */ 37 | 38 | #if !defined(_CRT_SECURE_NO_WARNINGS) 39 | #define _CRT_SECURE_NO_WARNINGS /* avoid warnings about ISO C functions */ 40 | #endif 41 | 42 | #endif /* } */ 43 | 44 | #endif 45 | 46 | -------------------------------------------------------------------------------- /libswirl/deps/lua/lua.hpp: -------------------------------------------------------------------------------- 1 | // lua.hpp 2 | // Lua header files for C++ 3 | // <> not supplied automatically because Lua also compiles as C++ 4 | 5 | extern "C" { 6 | #include "lua.h" 7 | #include "lualib.h" 8 | #include "lauxlib.h" 9 | } 10 | -------------------------------------------------------------------------------- /libswirl/deps/lua/lundump.h: -------------------------------------------------------------------------------- 1 | /* 2 | ** $Id: lundump.h,v 1.45.1.1 2017/04/19 17:20:42 roberto Exp $ 3 | ** load precompiled Lua chunks 4 | ** See Copyright Notice in lua.h 5 | */ 6 | 7 | #ifndef lundump_h 8 | #define lundump_h 9 | 10 | #include "llimits.h" 11 | #include "lobject.h" 12 | #include "lzio.h" 13 | 14 | 15 | /* data to catch conversion errors */ 16 | #define LUAC_DATA "\x19\x93\r\n\x1a\n" 17 | 18 | #define LUAC_INT 0x5678 19 | #define LUAC_NUM cast_num(370.5) 20 | 21 | #define MYINT(s) (s[0]-'0') 22 | #define LUAC_VERSION (MYINT(LUA_VERSION_MAJOR)*16+MYINT(LUA_VERSION_MINOR)) 23 | #define LUAC_FORMAT 0 /* this is the official format */ 24 | 25 | /* load one chunk; from lundump.c */ 26 | LUAI_FUNC LClosure* luaU_undump (lua_State* L, ZIO* Z, const char* name); 27 | 28 | /* dump one chunk; from ldump.c */ 29 | LUAI_FUNC int luaU_dump (lua_State* L, const Proto* f, lua_Writer w, 30 | void* data, int strip); 31 | 32 | #endif 33 | -------------------------------------------------------------------------------- /libswirl/deps/lzma/7zBuf.c: -------------------------------------------------------------------------------- 1 | /* 7zBuf.c -- Byte Buffer 2 | 2017-04-03 : Igor Pavlov : Public domain */ 3 | 4 | #include "Precomp.h" 5 | 6 | #include "7zBuf.h" 7 | 8 | void Buf_Init(CBuf *p) 9 | { 10 | p->data = 0; 11 | p->size = 0; 12 | } 13 | 14 | int Buf_Create(CBuf *p, size_t size, ISzAllocPtr alloc) 15 | { 16 | p->size = 0; 17 | if (size == 0) 18 | { 19 | p->data = 0; 20 | return 1; 21 | } 22 | p->data = (Byte *)ISzAlloc_Alloc(alloc, size); 23 | if (p->data) 24 | { 25 | p->size = size; 26 | return 1; 27 | } 28 | return 0; 29 | } 30 | 31 | void Buf_Free(CBuf *p, ISzAllocPtr alloc) 32 | { 33 | ISzAlloc_Free(alloc, p->data); 34 | p->data = 0; 35 | p->size = 0; 36 | } 37 | -------------------------------------------------------------------------------- /libswirl/deps/lzma/7zBuf.h: -------------------------------------------------------------------------------- 1 | /* 7zBuf.h -- Byte Buffer 2 | 2017-04-03 : Igor Pavlov : Public domain */ 3 | 4 | #ifndef __7Z_BUF_H 5 | #define __7Z_BUF_H 6 | 7 | #include "7zTypes.h" 8 | 9 | EXTERN_C_BEGIN 10 | 11 | typedef struct 12 | { 13 | Byte *data; 14 | size_t size; 15 | } CBuf; 16 | 17 | void Buf_Init(CBuf *p); 18 | int Buf_Create(CBuf *p, size_t size, ISzAllocPtr alloc); 19 | void Buf_Free(CBuf *p, ISzAllocPtr alloc); 20 | 21 | typedef struct 22 | { 23 | Byte *data; 24 | size_t size; 25 | size_t pos; 26 | } CDynBuf; 27 | 28 | void DynBuf_Construct(CDynBuf *p); 29 | void DynBuf_SeekToBeg(CDynBuf *p); 30 | int DynBuf_Write(CDynBuf *p, const Byte *buf, size_t size, ISzAllocPtr alloc); 31 | void DynBuf_Free(CDynBuf *p, ISzAllocPtr alloc); 32 | 33 | EXTERN_C_END 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /libswirl/deps/lzma/7zCrc.h: -------------------------------------------------------------------------------- 1 | /* 7zCrc.h -- CRC32 calculation 2 | 2013-01-18 : Igor Pavlov : Public domain */ 3 | 4 | #ifndef __7Z_CRC_H 5 | #define __7Z_CRC_H 6 | 7 | #include "7zTypes.h" 8 | 9 | EXTERN_C_BEGIN 10 | 11 | extern UInt32 g_CrcTable[]; 12 | 13 | /* Call CrcGenerateTable one time before other CRC functions */ 14 | void MY_FAST_CALL CrcGenerateTable(void); 15 | 16 | #define CRC_INIT_VAL 0xFFFFFFFF 17 | #define CRC_GET_DIGEST(crc) ((crc) ^ CRC_INIT_VAL) 18 | #define CRC_UPDATE_BYTE(crc, b) (g_CrcTable[((crc) ^ (b)) & 0xFF] ^ ((crc) >> 8)) 19 | 20 | UInt32 MY_FAST_CALL CrcUpdate(UInt32 crc, const void *data, size_t size); 21 | UInt32 MY_FAST_CALL CrcCalc(const void *data, size_t size); 22 | 23 | EXTERN_C_END 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /libswirl/deps/lzma/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 | -------------------------------------------------------------------------------- /libswirl/deps/lzma/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 | -------------------------------------------------------------------------------- /libswirl/deps/lzma/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 | -------------------------------------------------------------------------------- /libswirl/deps/lzma/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 | -------------------------------------------------------------------------------- /libswirl/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 | -------------------------------------------------------------------------------- /libswirl/deps/lzma/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 | -------------------------------------------------------------------------------- /libswirl/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 | -------------------------------------------------------------------------------- /libswirl/gpl/deps/picotcp/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | 2 | External contributions to picoTCP are very welcome. We do, however, ask that you sign the Contributor License Agreement. 3 | We don't ask you to sign away your copyright. The CLA simply grants us an additional license on the code you wrote. This allows us to also use picoTCP in commercial projects, which enables us to keep investing time and money in creating a better TCP/IP stack. 4 | 5 | Please read the [Agreement](https://docs.google.com/forms/d/1-z6lsT75l6ZIrgHGEWrWdHylJ6xxpjc7FwGfL2ilDFU/viewform), and if you agree with it, fill in your information. 6 | You will receive a mail with a timestamp. Please modify our [CLA confirmation page](https://github.com/tass-belgium/picotcp/wiki/picoTCP-CLA-Confirmation-Page), adding the timestamp and your github username. This way we can be sure that nobody else filled in your info in the form. 7 | 8 | Pull requests by people who haven't signed the CLA will, unfortunately, have to be rejected. 9 | -------------------------------------------------------------------------------- /libswirl/gpl/deps/picotcp/COPYING: -------------------------------------------------------------------------------- 1 | PicoTCP. Copyright (c) 2012-2017 Altran Intelligent Systems. 2 | 3 | Released under the GNU General Public License, version 2, or (at your option) 4 | version 3. 5 | See LICENSE.GPLv2 and LICENSE.GPLv3 for details. 6 | 7 | Different licensing models may exist, at the sole discretion of 8 | the Copyright holders. 9 | -------------------------------------------------------------------------------- /libswirl/gpl/deps/picotcp/MODTREE: -------------------------------------------------------------------------------- 1 | RTOS: 2 | IPV4: ETH 3 | IPV6: 4 | DEVLOOP: 5 | CRC: 6 | ETH: 7 | TCP: IPV4 8 | UDP: IPV4 9 | IPV4FRAG: IPV4 10 | NAT: IPV4 UDP 11 | ICMP4: IPV4 12 | MCAST: UDP 13 | PING: ICMP4 14 | DHCP_CLIENT: UDP 15 | DHCP_SERVER: UDP 16 | DNS_CLIENT: UDP 17 | IPFILTER: IPV4 18 | OLSR: MCAST 19 | SLAACV4: IPV4 20 | SNTP_CLIENT: DNS_CLIENT 21 | TFTP: UDP 22 | MDNS: MCAST 23 | DNS_SD: MDNS 24 | AODV: IPV4 UDP 25 | PPP: IPV4 26 | 6LOWPAN: IPV6 27 | IEEE802154: 6LOWPAN 28 | -------------------------------------------------------------------------------- /libswirl/gpl/deps/picotcp/include/arch/pico_arm9.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | PicoTCP. Copyright (c) 2012-2017 Altran Intelligent Systems. Some rights reserved. 3 | See COPYING, LICENSE.GPLv2 and LICENSE.GPLv3 for usage. 4 | *********************************************************************/ 5 | #define dbg(...) do {} while(0) 6 | 7 | /******************/ 8 | 9 | /*** MACHINE CONFIGURATION ***/ 10 | /* Temporary (POSIX) stuff. */ 11 | #include 12 | #include 13 | 14 | extern volatile uint32_t __str9_tick; 15 | 16 | #define pico_native_malloc(x) calloc(x, 1) 17 | #define pico_native_free(x) free(x) 18 | 19 | static inline unsigned long PICO_TIME(void) 20 | { 21 | register uint32_t tick = __str9_tick; 22 | return tick / 1000; 23 | } 24 | 25 | static inline unsigned long PICO_TIME_MS(void) 26 | { 27 | return __str9_tick; 28 | } 29 | 30 | static inline void PICO_IDLE(void) 31 | { 32 | unsigned long tick_now = __str9_tick; 33 | while(tick_now == __str9_tick) ; 34 | } 35 | 36 | -------------------------------------------------------------------------------- /libswirl/gpl/deps/picotcp/include/arch/pico_avr.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | PicoTCP. Copyright (c) 2012-2017 Altran Intelligent Systems. Some rights reserved. 3 | See COPYING, LICENSE.GPLv2 and LICENSE.GPLv3 for usage. 4 | 5 | *********************************************************************/ 6 | #define dbg(...) do {} while(0) 7 | /* #define dbg printf */ 8 | 9 | /*************************/ 10 | 11 | /*** MACHINE CONFIGURATION ***/ 12 | /* Temporary (POSIX) stuff. */ 13 | #include 14 | #include 15 | #include 16 | #include "pico_mm.h" 17 | 18 | extern volatile uint32_t __avr_tick; 19 | 20 | #define pico_zalloc(x) calloc(x, 1) 21 | #define pico_free(x) free(x) 22 | 23 | static inline unsigned long PICO_TIME(void) 24 | { 25 | register uint32_t tick = __avr_tick; 26 | return tick / 1000; 27 | } 28 | 29 | static inline unsigned long PICO_TIME_MS(void) 30 | { 31 | return __avr_tick; 32 | } 33 | 34 | static inline void PICO_IDLE(void) 35 | { 36 | unsigned long tick_now = __avr_tick; 37 | while(tick_now == __avr_tick) ; 38 | } 39 | 40 | -------------------------------------------------------------------------------- /libswirl/gpl/deps/picotcp/include/arch/pico_cortex_m.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | PicoTCP. Copyright (c) 2012-2017 Altran Intelligent Systems. Some rights reserved. 3 | See COPYING, LICENSE.GPLv2 and LICENSE.GPLv3 for usage. 4 | 5 | *********************************************************************/ 6 | #ifndef _INCLUDE_PICO_CORTEX_M 7 | #define _INCLUDE_PICO_CORTEX_M 8 | 9 | #include "pico_generic_gcc.h" 10 | 11 | #endif /* PICO_CORTEX_M */ 12 | 13 | -------------------------------------------------------------------------------- /libswirl/gpl/deps/picotcp/include/arch/pico_linux.h: -------------------------------------------------------------------------------- 1 | #ifndef PICO_SUPPORT_LINUX 2 | #define PICO_SUPPORT_LINUX 3 | 4 | #include "linux/types.h" 5 | #include "linux/mm.h" 6 | #include "linux/slab.h" 7 | #include "linux/jiffies.h" 8 | 9 | #define dbg printk 10 | 11 | #define pico_zalloc(x) kcalloc(x, 1, GFP_ATOMIC) /* All allocations are GFP_ATOMIC for now */ 12 | #define pico_free(x) kfree(x) 13 | 14 | 15 | static inline unsigned long PICO_TIME(void) 16 | { 17 | return (unsigned long)(jiffies_to_msecs(jiffies) / 1000); 18 | } 19 | 20 | static inline unsigned long PICO_TIME_MS(void) 21 | { 22 | return (unsigned long)jiffies_to_msecs(jiffies); 23 | } 24 | 25 | static inline void PICO_IDLE(void) 26 | { 27 | unsigned long now = jiffies; 28 | while (now == jiffies) { 29 | ; 30 | } 31 | } 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /libswirl/gpl/deps/picotcp/include/arch/pico_msp430.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | PicoTCP. Copyright (c) 2012-2017 Altran Intelligent Systems. Some rights reserved. 3 | See COPYING, LICENSE.GPLv2 and LICENSE.GPLv3 for usage. 4 | 5 | *********************************************************************/ 6 | #ifndef _INCLUDE_PICO_LPC 7 | #define _INCLUDE_PICO_LPC 8 | 9 | #include 10 | #include 11 | #include 12 | #include "pico_constants.h" 13 | 14 | extern pico_time msp430_time_s(void); 15 | extern pico_time msp430_time_ms(void); 16 | extern void *malloc(size_t); 17 | extern void free(void *); 18 | 19 | 20 | #define PICO_TIME() msp430_time_s() 21 | #define PICO_TIME_MS() msp430_time_ms() 22 | #define PICO_IDLE() do {} while(0) 23 | 24 | #define pico_free(x) free(x) 25 | 26 | static inline void *pico_zalloc(size_t size) 27 | { 28 | void *ptr = malloc(size); 29 | 30 | if(ptr) 31 | memset(ptr, 0u, size); 32 | 33 | return ptr; 34 | } 35 | 36 | #define dbg(...) 37 | 38 | #endif 39 | -------------------------------------------------------------------------------- /libswirl/gpl/deps/picotcp/include/arch/pico_msvc.h: -------------------------------------------------------------------------------- 1 | #ifndef PICO_SUPPORT_MSVC 2 | #define PICO_SUPPORT_MSVC 3 | 4 | #include 5 | #include 6 | #include 7 | 8 | #if defined(_MSC_VER) || defined(_MSC_EXTENSIONS) 9 | #define DELTA_EPOCH_IN_MICROSECS 11644473600000000Ui64 10 | #else 11 | #define DELTA_EPOCH_IN_MICROSECS 11644473600000000ULL 12 | #endif 13 | 14 | #define dbg printf 15 | 16 | #define stack_fill_pattern(...) do {} while(0) 17 | #define stack_count_free_words(...) do {} while(0) 18 | #define stack_get_free_words() (0) 19 | 20 | #define pico_zalloc(x) calloc(x, 1) 21 | #define pico_free(x) free(x) 22 | 23 | static inline uint32_t PICO_TIME_MS(void) 24 | { 25 | FILETIME ft; 26 | unsigned __int64 tmpres = 0; 27 | 28 | GetSystemTimeAsFileTime(&ft); 29 | 30 | tmpres |= ft.dwHighDateTime; 31 | tmpres <<= 32; 32 | tmpres |= ft.dwLowDateTime; 33 | 34 | tmpres /= 10; /*convert into microseconds*/ 35 | /*converting file time to unix epoch*/ 36 | tmpres -= DELTA_EPOCH_IN_MICROSECS; 37 | 38 | return (uint32_t)(tmpres / 1000); // milliseconds 39 | } 40 | 41 | static inline uint32_t PICO_TIME(void) 42 | { 43 | return PICO_TIME_MS() / 1000; 44 | } 45 | 46 | static inline void PICO_IDLE(void) 47 | { 48 | // Not used anyway usleep(5000); 49 | } 50 | 51 | #endif /* PICO_SUPPORT_MSVC */ 52 | 53 | 54 | -------------------------------------------------------------------------------- /libswirl/gpl/deps/picotcp/include/arch/pico_none.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | PicoTCP. Copyright (c) 2012-2017 Altran Intelligent Systems. Some rights reserved. 3 | See COPYING, LICENSE.GPLv2 and LICENSE.GPLv3 for usage. 4 | *********************************************************************/ 5 | 6 | #ifndef PICO_SUPPORT_ARCHNONE 7 | #define PICO_SUPPORT_ARCHNONE 8 | 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | #define dbg(...) do {} while(0) 15 | #define pico_zalloc(x) NULL 16 | #define pico_free(x) do {} while(0) 17 | #define PICO_TIME() 666 18 | #define PICO_TIME_MS() 666000 19 | #define PICO_IDLE() do {} while(0) 20 | 21 | #endif /* PICO_SUPPORT_ARCHNONE */ 22 | 23 | -------------------------------------------------------------------------------- /libswirl/gpl/deps/picotcp/include/pico_defines.h: -------------------------------------------------------------------------------- 1 | #ifndef PICO_DEFINES_H 2 | #define PICO_DEFINES_H 3 | 4 | #define PICO_SUPPORT_ETH 5 | #define PICO_SUPPORT_IPV4 6 | #define PICO_SUPPORT_IPV4FRAG 7 | #define PICO_SUPPORT_TCP 8 | #define PICO_SUPPORT_UDP 9 | #define PICO_SUPPORT_DNS_CLIENT 10 | #define PICO_SUPPORT_CRC 11 | #define PICO_SUPPORT_PPP 12 | #endif 13 | -------------------------------------------------------------------------------- /libswirl/gpl/deps/picotcp/include/pico_defines_msvc.h: -------------------------------------------------------------------------------- 1 | // pico_defines.h for MS VC 2 | #ifndef PICO_DEFINES_H 3 | #define PICO_DEFINES_H 4 | 5 | #define PICO_SUPPORT_ETH 6 | #define PICO_SUPPORT_IPV4 7 | #define PICO_SUPPORT_IPV4FRAG 8 | #define PICO_SUPPORT_ICMP4 9 | #define PICO_SUPPORT_TCP 10 | #define PICO_SUPPORT_UDP 11 | #define PICO_SUPPORT_DNS_CLIENT 12 | #define PICO_SUPPORT_CRC 13 | #define PICO_SUPPORT_PPP 14 | 15 | #define inline __inline 16 | #endif 17 | -------------------------------------------------------------------------------- /libswirl/gpl/deps/picotcp/include/pico_eth.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | PicoTCP. Copyright (c) 2012-2017 Altran Intelligent Systems. Some rights reserved. 3 | See COPYING, LICENSE.GPLv2 and LICENSE.GPLv3 for usage. 4 | 5 | *********************************************************************/ 6 | #ifndef INCLUDE_PICO_ETH 7 | #define INCLUDE_PICO_ETH 8 | #include "pico_addressing.h" 9 | #include "pico_ipv4.h" 10 | #include "pico_ipv6.h" 11 | 12 | 13 | PACKED_STRUCT_DEF pico_eth_hdr { 14 | uint8_t daddr[6]; 15 | uint8_t saddr[6]; 16 | uint16_t proto; 17 | }; 18 | 19 | #define PICO_SIZE_ETHHDR 14 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /libswirl/gpl/deps/picotcp/include/pico_md5.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | * PicoTCP. Copyright (c) 2015-2017 Altran Intelligent Systems. Some rights reserved. 3 | * See COPYING, LICENSE.GPLv2 and LICENSE.GPLv3 for usage. 4 | * 5 | * Authors: Daniele Lacamera 6 | * *********************************************************************/ 7 | 8 | #ifndef PICO_MD5_INCLUDE 9 | #define PICO_MD5_INCLUDE 10 | 11 | #include 12 | #include 13 | 14 | void pico_md5sum(uint8_t *dst, const uint8_t *src, size_t len); 15 | void pico_register_md5sum(void (*md5)(uint8_t *, const uint8_t *, size_t)); 16 | 17 | #endif /* PICO_MD5_INCLUDE */ 18 | -------------------------------------------------------------------------------- /libswirl/gpl/deps/picotcp/include/pico_module_eth.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | PicoTCP. Copyright (c) 2012-2017 Altran Intelligent Systems. Some rights reserved. 3 | See COPYING, LICENSE.GPLv2 and LICENSE.GPLv3 for usage. 4 | 5 | *********************************************************************/ 6 | #ifndef PICO_MODULE_IPV4_H 7 | #define PICO_MODULE_IPV4_H 8 | 9 | struct pico_arp_entry { 10 | struct eth dest; 11 | #ifdef PICO_CONFIG_IPV4 12 | struct ipv4 addr_ipv4; 13 | #endif 14 | RB_ENTRY(pico_arp_entry) node; 15 | }; 16 | 17 | /* Configured device */ 18 | struct pico_eth_link { 19 | struct pico_device *dev; 20 | struct eth address; 21 | struct eth netmask; 22 | RB_ENTRY(pico_eth_link) node; 23 | }; 24 | 25 | #ifndef IS_MODULE_ETH 26 | # define _mod extern 27 | #else 28 | # define _mod 29 | #endif 30 | _mod struct pico_module pico_module_eth; 31 | #undef _mod 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /libswirl/gpl/deps/picotcp/include/pico_socket_multicast.h: -------------------------------------------------------------------------------- 1 | #ifndef PICO_SOCKET_MULTICAST_H 2 | #define PICO_SOCKET_MULTICAST_H 3 | int pico_socket_mcast_filter(struct pico_socket *s, union pico_address *mcast_group, union pico_address *src); 4 | void pico_multicast_delete(struct pico_socket *s); 5 | int pico_setsockopt_mcast(struct pico_socket *s, int option, void *value); 6 | int pico_getsockopt_mcast(struct pico_socket *s, int option, void *value); 7 | int pico_udp_get_mc_ttl(struct pico_socket *s, uint8_t *ttl); 8 | int pico_udp_set_mc_ttl(struct pico_socket *s, void *_ttl); 9 | 10 | #endif 11 | -------------------------------------------------------------------------------- /libswirl/gpl/deps/picotcp/mkdeps.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ "$#" -eq 0 ]; then 4 | echo "Supply PREFIX for building pico_defines.h" 5 | exit 1 6 | fi 7 | 8 | PREFIX=$1 9 | shift 10 | echo "/* PicoTCP - Definition file - DO NOT EDIT */" >$PREFIX/include/pico_defines.h 11 | echo "/* This file is automatically generated at compile time */" >>$PREFIX/include/pico_defines.h 12 | echo "#ifndef PICO_DEFINES_H" >>$PREFIX/include/pico_defines.h 13 | echo "#define PICO_DEFINES_H" >>$PREFIX/include/pico_defines.h 14 | echo >>$PREFIX/include/pico_defines.h 15 | 16 | for i in $@; do 17 | if (echo $i | grep "^-D" |grep PICO_SUPPORT >/dev/null); then 18 | my_def=`echo $i |sed -e "s/-D//g"` 19 | echo "#define $my_def" >> $PREFIX/include/pico_defines.h 20 | fi 21 | done 22 | echo "#endif" >>$PREFIX/include/pico_defines.h 23 | -------------------------------------------------------------------------------- /libswirl/gpl/deps/picotcp/modules/pico_dev_ipc.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | PicoTCP. Copyright (c) 2012-2017 Altran Intelligent Systems. Some rights reserved. 3 | See COPYING, LICENSE.GPLv2 and LICENSE.GPLv3 for usage. 4 | 5 | *********************************************************************/ 6 | #ifndef INCLUDE_PICO_IPC 7 | #define INCLUDE_PICO_IPC 8 | #include "pico_config.h" 9 | #include "pico_device.h" 10 | 11 | void pico_ipc_destroy(struct pico_device *ipc); 12 | struct pico_device *pico_ipc_create(const char *sock_path, const char *name, const uint8_t *mac); 13 | 14 | #endif 15 | 16 | -------------------------------------------------------------------------------- /libswirl/gpl/deps/picotcp/modules/pico_dev_null.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | PicoTCP. Copyright (c) 2012-2017 Altran Intelligent Systems. Some rights reserved. 3 | See COPYING, LICENSE.GPLv2 and LICENSE.GPLv3 for usage. 4 | 5 | *********************************************************************/ 6 | #ifndef INCLUDE_PICO_NULL 7 | #define INCLUDE_PICO_NULL 8 | #include "pico_config.h" 9 | #include "pico_device.h" 10 | 11 | void pico_null_destroy(struct pico_device *null); 12 | struct pico_device *pico_null_create(const char *name); 13 | 14 | #endif 15 | 16 | -------------------------------------------------------------------------------- /libswirl/gpl/deps/picotcp/modules/pico_dhcp_client.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | PicoTCP. Copyright (c) 2012-2017 Altran Intelligent Systems. Some rights reserved. 3 | See COPYING, LICENSE.GPLv2 and LICENSE.GPLv3 for usage. 4 | 5 | . 6 | 7 | *********************************************************************/ 8 | #ifndef INCLUDE_PICO_DHCP_CLIENT 9 | #define INCLUDE_PICO_DHCP_CLIENT 10 | #include "pico_config.h" 11 | #ifdef PICO_SUPPORT_UDP 12 | #include "pico_dhcp_common.h" 13 | #include "pico_addressing.h" 14 | #include "pico_protocol.h" 15 | 16 | int pico_dhcp_initiate_negotiation(struct pico_device *device, void (*callback)(void*cli, int code), uint32_t *xid); 17 | void *pico_dhcp_get_identifier(uint32_t xid); 18 | struct pico_ip4 pico_dhcp_get_address(void *cli); 19 | struct pico_ip4 pico_dhcp_get_gateway(void *cli); 20 | struct pico_ip4 pico_dhcp_get_netmask(void *cli); 21 | struct pico_ip4 pico_dhcp_get_nameserver(void*cli, int index); 22 | int pico_dhcp_client_abort(uint32_t xid); 23 | char *pico_dhcp_get_hostname(void); 24 | char *pico_dhcp_get_domain(void); 25 | 26 | /* possible codes for the callback */ 27 | #define PICO_DHCP_SUCCESS 0 28 | #define PICO_DHCP_ERROR 1 29 | #define PICO_DHCP_RESET 2 30 | 31 | #endif 32 | #endif 33 | -------------------------------------------------------------------------------- /libswirl/gpl/deps/picotcp/modules/pico_ethernet.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | PicoTCP. Copyright (c) 2012-2017 Altran Intelligent Systems. Some rights reserved. 3 | See COPYING, LICENSE.GPLv2 and LICENSE.GPLv3 for usage. 4 | 5 | . 6 | 7 | Authors: Daniele Lacamera 8 | *********************************************************************/ 9 | 10 | #ifndef INCLUDE_PICO_ETHERNET 11 | #define INCLUDE_PICO_ETHERNET 12 | 13 | #include "pico_config.h" 14 | #include "pico_frame.h" 15 | 16 | extern struct pico_protocol pico_proto_ethernet; 17 | 18 | #endif /* INCLUDE_PICO_ETHERNET */ 19 | -------------------------------------------------------------------------------- /libswirl/gpl/deps/picotcp/modules/pico_fragments.h: -------------------------------------------------------------------------------- 1 | #ifndef PICO_FRAGMENTS_H 2 | #define PICO_FRAGMENTS_H 3 | #include "pico_ipv4.h" 4 | #include "pico_ipv6.h" 5 | #include "pico_addressing.h" 6 | #include "pico_frame.h" 7 | 8 | void pico_ipv6_process_frag(struct pico_ipv6_exthdr *frag, struct pico_frame *f, uint8_t proto); 9 | void pico_ipv4_process_frag(struct pico_ipv4_hdr *hdr, struct pico_frame *f, uint8_t proto); 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /libswirl/gpl/deps/picotcp/modules/pico_igmp.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | PicoTCP. Copyright (c) 2012-2017 Altran Intelligent Systems. Some rights reserved. 3 | See COPYING, LICENSE.GPLv2 and LICENSE.GPLv3 for usage. 4 | 5 | . 6 | 7 | Authors: Kristof Roelants, Simon Maes, Brecht Van Cauwenberghe 8 | *********************************************************************/ 9 | 10 | #ifndef INCLUDE_PICO_IGMP 11 | #define INCLUDE_PICO_IGMP 12 | 13 | #define PICO_IGMPV1 1 14 | #define PICO_IGMPV2 2 15 | #define PICO_IGMPV3 3 16 | 17 | #define PICO_IGMP_STATE_CREATE 1 18 | #define PICO_IGMP_STATE_UPDATE 2 19 | #define PICO_IGMP_STATE_DELETE 3 20 | 21 | #define PICO_IGMP_QUERY_INTERVAL 125 22 | 23 | extern struct pico_protocol pico_proto_igmp; 24 | 25 | int pico_igmp_state_change(struct pico_ip4 *mcast_link, struct pico_ip4 *mcast_group, uint8_t filter_mode, struct pico_tree *_MCASTFilter, uint8_t state); 26 | #endif /* _INCLUDE_PICO_IGMP */ 27 | -------------------------------------------------------------------------------- /libswirl/gpl/deps/picotcp/modules/pico_ipfilter.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | PicoTCP. Copyright (c) 2012-2017 Altran Intelligent Systems. Some rights reserved. 3 | See COPYING, LICENSE.GPLv2 and LICENSE.GPLv3 for usage. 4 | 5 | Authors: Simon Maes 6 | *********************************************************************/ 7 | #ifndef INCLUDE_PICO_IPFILTER 8 | #define INCLUDE_PICO_IPFILTER 9 | 10 | #include "pico_device.h" 11 | 12 | enum filter_action { 13 | FILTER_PRIORITY = 0, 14 | FILTER_REJECT, 15 | FILTER_DROP, 16 | FILTER_COUNT 17 | }; 18 | 19 | uint32_t pico_ipv4_filter_add(struct pico_device *dev, uint8_t proto, 20 | struct pico_ip4 *out_addr, struct pico_ip4 *out_addr_netmask, struct pico_ip4 *in_addr, 21 | struct pico_ip4 *in_addr_netmask, uint16_t out_port, uint16_t in_port, 22 | int8_t priority, uint8_t tos, enum filter_action action); 23 | 24 | int pico_ipv4_filter_del(uint32_t filter_id); 25 | 26 | int ipfilter(struct pico_frame *f); 27 | 28 | #endif /* _INCLUDE_PICO_IPFILTER */ 29 | 30 | -------------------------------------------------------------------------------- /libswirl/gpl/deps/picotcp/modules/pico_ipv6_nd.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | PicoTCP. Copyright (c) 2012-2017 Altran Intelligent Systems. Some rights reserved. 3 | See COPYING, LICENSE.GPLv2 and LICENSE.GPLv3 for usage. 4 | 5 | *********************************************************************/ 6 | #ifndef _INCLUDE_PICO_ND 7 | #define _INCLUDE_PICO_ND 8 | #include "pico_frame.h" 9 | #include "pico_ipv6.h" 10 | 11 | /* RFC constants */ 12 | #define PICO_ND_REACHABLE_TIME 30000 /* msec */ 13 | #define PICO_ND_RETRANS_TIMER 1000 /* msec */ 14 | 15 | struct pico_nd_hostvars { 16 | uint8_t routing; 17 | uint8_t hoplimit; 18 | pico_time basetime; 19 | pico_time reachabletime; 20 | pico_time retranstime; 21 | #ifdef PICO_SUPPORT_6LOWPAN 22 | uint8_t lowpan_flags; 23 | #endif 24 | }; 25 | 26 | void pico_ipv6_nd_init(void); 27 | struct pico_eth *pico_ipv6_get_neighbor(struct pico_frame *f); 28 | void pico_ipv6_nd_postpone(struct pico_frame *f); 29 | int pico_ipv6_nd_recv(struct pico_frame *f); 30 | 31 | #ifdef PICO_SUPPORT_6LOWPAN 32 | int pico_6lp_nd_start_soliciting(struct pico_ipv6_link *l, struct pico_ipv6_route *gw); 33 | void pico_6lp_nd_register(struct pico_ipv6_link *link); 34 | #endif 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /libswirl/gpl/deps/picotcp/modules/pico_olsr.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | PicoTCP. Copyright (c) 2012-2017 Altran Intelligent Systems. Some rights reserved. 3 | See COPYING, LICENSE.GPLv2 and LICENSE.GPLv3 for usage. 4 | 5 | Authors: Daniele Lacamera 6 | *********************************************************************/ 7 | #ifndef PICO_OLSR_H 8 | #define PICO_OLSR_H 9 | 10 | 11 | /* Objects */ 12 | struct olsr_route_entry 13 | { 14 | struct olsr_route_entry *next; 15 | uint32_t time_left; 16 | struct pico_ip4 destination; 17 | struct olsr_route_entry *gateway; 18 | struct pico_device *iface; 19 | uint16_t metric; 20 | uint8_t link_type; 21 | struct olsr_route_entry *children; 22 | uint16_t ansn; 23 | uint16_t seq; 24 | uint8_t lq, nlq; 25 | uint8_t *advertised_tc; 26 | }; 27 | 28 | 29 | void pico_olsr_init(void); 30 | int pico_olsr_add(struct pico_device *dev); 31 | struct olsr_route_entry *olsr_get_ethentry(struct pico_device *vif); 32 | #endif 33 | -------------------------------------------------------------------------------- /libswirl/gpl/deps/picotcp/modules/pico_socket_tcp.h: -------------------------------------------------------------------------------- 1 | #ifndef PICO_SOCKET_TCP_H 2 | #define PICO_SOCKET_TCP_H 3 | #include "pico_socket.h" 4 | 5 | #ifdef PICO_SUPPORT_TCP 6 | 7 | /* Functions/macros: conditional! */ 8 | 9 | # define IS_NAGLE_ENABLED(s) (!(!(!(s->opt_flags & (1 << PICO_SOCKET_OPT_TCPNODELAY))))) 10 | int pico_setsockopt_tcp(struct pico_socket *s, int option, void *value); 11 | int pico_getsockopt_tcp(struct pico_socket *s, int option, void *value); 12 | int pico_socket_tcp_deliver(struct pico_sockport *sp, struct pico_frame *f); 13 | void pico_socket_tcp_delete(struct pico_socket *s); 14 | void pico_socket_tcp_cleanup(struct pico_socket *sock); 15 | struct pico_socket *pico_socket_tcp_open(uint16_t family); 16 | int pico_socket_tcp_read(struct pico_socket *s, void *buf, uint32_t len); 17 | void transport_flags_update(struct pico_frame *, struct pico_socket *); 18 | 19 | #else 20 | # define pico_getsockopt_tcp(...) (-1) 21 | # define pico_setsockopt_tcp(...) (-1) 22 | # define pico_socket_tcp_deliver(...) (-1) 23 | # define IS_NAGLE_ENABLED(s) (0) 24 | # define pico_socket_tcp_delete(...) do {} while(0) 25 | # define pico_socket_tcp_cleanup(...) do {} while(0) 26 | # define pico_socket_tcp_open(f) (NULL) 27 | # define pico_socket_tcp_read(...) (-1) 28 | # define transport_flags_update(...) do {} while(0) 29 | 30 | #endif 31 | 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /libswirl/gpl/deps/picotcp/modules/pico_socket_udp.h: -------------------------------------------------------------------------------- 1 | #ifndef PICO_SOCKET_UDP_H 2 | #define PICO_SOCKET_UDP_H 3 | 4 | struct pico_socket *pico_socket_udp_open(void); 5 | int pico_socket_udp_deliver(struct pico_sockport *sp, struct pico_frame *f); 6 | 7 | 8 | #ifdef PICO_SUPPORT_UDP 9 | int pico_setsockopt_udp(struct pico_socket *s, int option, void *value); 10 | int pico_getsockopt_udp(struct pico_socket *s, int option, void *value); 11 | # define pico_socket_udp_recv(s, buf, len, addr, port) pico_udp_recv(s, buf, len, addr, port, NULL) 12 | #else 13 | # define pico_socket_udp_recv(...) (0) 14 | # define pico_getsockopt_udp(...) (-1) 15 | # define pico_setsockopt_udp(...) (-1) 16 | #endif 17 | 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /libswirl/gpl/deps/picotcp/modules/pico_strings.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | PicoTCP. Copyright (c) 2015-2017 Altran ISY BeNeLux. Some rights reserved. 3 | See COPYING, LICENSE.GPLv2 and LICENSE.GPLv3 for usage. 4 | 5 | . 6 | 7 | Author: Michele Di Pede 8 | *********************************************************************/ 9 | 10 | #ifndef PICO_STRINGS_H 11 | #define PICO_STRINGS_H 12 | #include 13 | #include 14 | 15 | char *get_string_terminator_position(char *const block, size_t len); 16 | int pico_strncasecmp(const char *const str1, const char *const str2, size_t n); 17 | size_t pico_strnlen(const char *str, size_t n); 18 | 19 | int num2string(int32_t num, char *buf, int len); 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /libswirl/gpl/deps/picotcp/rules/crc.mk: -------------------------------------------------------------------------------- 1 | OPTIONS+=-DPICO_SUPPORT_CRC 2 | -------------------------------------------------------------------------------- /libswirl/gpl/deps/picotcp/rules/dhcp_client.mk: -------------------------------------------------------------------------------- 1 | OPTIONS+=-DPICO_SUPPORT_DHCPC 2 | MOD_OBJ+=$(LIBBASE)modules/pico_dhcp_client.o $(LIBBASE)modules/pico_dhcp_common.o 3 | -------------------------------------------------------------------------------- /libswirl/gpl/deps/picotcp/rules/dhcp_server.mk: -------------------------------------------------------------------------------- 1 | OPTIONS+=-DPICO_SUPPORT_DHCPD 2 | MOD_OBJ+=$(LIBBASE)modules/pico_dhcp_server.o $(LIBBASE)modules/pico_dhcp_common.o 3 | -------------------------------------------------------------------------------- /libswirl/gpl/deps/picotcp/rules/dns_client.mk: -------------------------------------------------------------------------------- 1 | OPTIONS+=-DPICO_SUPPORT_DNS_CLIENT 2 | MOD_OBJ+=$(LIBBASE)modules/pico_dns_client.o $(LIBBASE)modules/pico_dns_common.o 3 | -------------------------------------------------------------------------------- /libswirl/gpl/deps/picotcp/rules/eth.mk: -------------------------------------------------------------------------------- 1 | OPTIONS+=-DPICO_SUPPORT_ETH 2 | MOD_OBJ+=$(LIBBASE)modules/pico_arp.o 3 | MOD_OBJ+=$(LIBBASE)modules/pico_ethernet.o 4 | -------------------------------------------------------------------------------- /libswirl/gpl/deps/picotcp/rules/icmp4.mk: -------------------------------------------------------------------------------- 1 | OPTIONS+=-DPICO_SUPPORT_ICMP4 2 | MOD_OBJ+=$(LIBBASE)modules/pico_icmp4.o 3 | ifneq ($(PING),0) 4 | OPTIONS+=-DPICO_SUPPORT_PING 5 | endif 6 | -------------------------------------------------------------------------------- /libswirl/gpl/deps/picotcp/rules/ipv4.mk: -------------------------------------------------------------------------------- 1 | OPTIONS+=-DPICO_SUPPORT_IPV4 2 | MOD_OBJ+=$(LIBBASE)modules/pico_ipv4.o 3 | -------------------------------------------------------------------------------- /libswirl/gpl/deps/picotcp/rules/ipv4frag.mk: -------------------------------------------------------------------------------- 1 | OPTIONS+=-DPICO_SUPPORT_IPV4FRAG 2 | MOD_OBJ+=$(LIBBASE)modules/pico_fragments.o 3 | -------------------------------------------------------------------------------- /libswirl/gpl/deps/picotcp/rules/ppp.mk: -------------------------------------------------------------------------------- 1 | OPTIONS+=-DPICO_SUPPORT_PPP 2 | MOD_OBJ+=$(LIBBASE)modules/pico_dev_ppp.o 3 | 4 | -------------------------------------------------------------------------------- /libswirl/gpl/deps/picotcp/rules/tap.mk: -------------------------------------------------------------------------------- 1 | UNAME=$(shell uname) 2 | ifeq ($(findstring MINGW,$(UNAME)),) 3 | MOD_OBJ+=$(LIBBASE)modules/pico_dev_tap.o 4 | else 5 | MOD_OBJ+=$(LIBBASE)modules/pico_dev_tap_windows.o 6 | endif 7 | -------------------------------------------------------------------------------- /libswirl/gpl/deps/picotcp/rules/tcp.mk: -------------------------------------------------------------------------------- 1 | OPTIONS+=-DPICO_SUPPORT_TCP 2 | MOD_OBJ+=$(LIBBASE)modules/pico_tcp.o 3 | MOD_OBJ+=$(LIBBASE)modules/pico_socket_tcp.o 4 | -------------------------------------------------------------------------------- /libswirl/gpl/deps/picotcp/rules/tun.mk: -------------------------------------------------------------------------------- 1 | UNAME=$(shell uname) 2 | ifeq ($(findstring MINGW,$(UNAME)),) 3 | MOD_OBJ+=$(LIBBASE)modules/pico_dev_tun.o 4 | endif 5 | -------------------------------------------------------------------------------- /libswirl/gpl/deps/picotcp/rules/udp.mk: -------------------------------------------------------------------------------- 1 | OPTIONS+=-DPICO_SUPPORT_UDP 2 | MOD_OBJ+=$(LIBBASE)modules/pico_udp.o 3 | MOD_OBJ+=$(LIBBASE)modules/pico_socket_udp.o 4 | -------------------------------------------------------------------------------- /libswirl/gpl/deps/picotcp/stack/pico_md5.c: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | * PicoTCP. Copyright (c) 2015-2017 Altran Intelligent Systems. Some rights reserved. 3 | * See COPYING, LICENSE.GPLv2 and LICENSE.GPLv3 for usage. 4 | * 5 | * Authors: Daniele Lacamera 6 | * *********************************************************************/ 7 | 8 | 9 | #include 10 | 11 | #if defined (PICO_SUPPORT_CYASSL) 12 | #include 13 | 14 | void pico_md5sum(uint8_t *dst, const uint8_t *src, size_t len) 15 | { 16 | Md5 md5; 17 | InitMd5(&md5); 18 | Md5Update(&md5, src, len); 19 | Md5Final(&md5, dst); 20 | } 21 | 22 | #elif defined (PICO_SUPPORT_POLARSSL) 23 | #include 24 | 25 | void pico_md5sum(uint8_t *dst, const uint8_t *src, size_t len) 26 | { 27 | md5(src, len, dst); 28 | } 29 | 30 | #else 31 | static void (*do_pico_md5sum)(uint8_t *dst, const uint8_t *src, size_t len); 32 | void pico_md5sum(uint8_t *dst, const uint8_t *src, size_t len) 33 | { 34 | if (do_pico_md5sum) { 35 | do_pico_md5sum(dst, src, len); 36 | } 37 | } 38 | 39 | void pico_register_md5sum(void (*md5)(uint8_t *, const uint8_t *, size_t)) 40 | { 41 | do_pico_md5sum = md5; 42 | } 43 | #endif 44 | -------------------------------------------------------------------------------- /libswirl/gpl/deps/xbrz/Changelog.txt: -------------------------------------------------------------------------------- 1 | =========== 2 | |Changelog| 3 | =========== 4 | 5 | xBRZ 1.5 [2017-08-07] 6 | --------------------- 7 | Added RGB conversion routines 8 | 9 | 10 | xBRZ 1.4 [2015-07-25] 11 | --------------------- 12 | Added 6xBRZ scaler 13 | Create color distance buffer lazily 14 | 15 | 16 | xBRZ 1.3 [2015-04-03] 17 | --------------------- 18 | Improved ARGB performance by 15% 19 | Fixed alpha channel gradient bug 20 | 21 | 22 | xBRZ 1.2 [2014-11-21] 23 | --------------------- 24 | Further improved performance by over 30% 25 | 26 | 27 | xBRZ 1.1 [2014-11-02] 28 | --------------------- 29 | Support images with alpha channel 30 | Improved color analysis 31 | 32 | 33 | xBRZ 1.0 [2013-02-11] 34 | --------------------- 35 | Fixed xBRZ scaler compiler issues for GCC 36 | 37 | 38 | xBRZ 0.2 [2012-12-11] 39 | --------------------- 40 | Added 5xBRZ scaler 41 | Optimized xBRZ scaler performance by factor 3 42 | Further improved image quality of xBRZ scaler 43 | 44 | 45 | xBRZ 0.1 [2012-09-26] 46 | --------------------- 47 | Initial release: 48 | - scale while preserving small image features 49 | - support multithreading 50 | - support 64-bit architectures 51 | - support processing image slices 52 | -------------------------------------------------------------------------------- /libswirl/gpl/lxdream/tacore.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "types.h" 3 | 4 | typedef unsigned int pvraddr_t; 5 | typedef unsigned int pvr64addr_t; 6 | typedef unsigned int sh4addr_t; 7 | 8 | void lxd_ta_write( unsigned char *buf, uint32_t length ); 9 | void lxd_ta_write_burst( sh4addr_t addr, unsigned char *data ); 10 | void lxd_ta_reset(); 11 | void lxd_ta_init(u8* vram); -------------------------------------------------------------------------------- /libswirl/gui/gui.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | original code by flyinghead 4 | */ 5 | #include "license/bsd" 6 | 7 | 8 | 9 | #pragma once 10 | #include 11 | #include 12 | 13 | struct GUI { 14 | virtual void Init() = 0; 15 | virtual void OpenSettings(std::function cb) = 0; 16 | virtual void RenderUI() = 0; 17 | virtual void DisplayNotification(const char* msg, int duration) = 0; 18 | virtual void RenderOSD() = 0; 19 | virtual void OpenOnboarding() = 0; 20 | virtual void RefreshFiles() = 0; 21 | 22 | virtual bool IsOpen() = 0; 23 | virtual bool IsVJoyEdit() = 0; 24 | virtual bool IsContentBrowser() = 0; 25 | virtual ~GUI() { } 26 | 27 | static GUI* Create(); 28 | }; 29 | 30 | extern std::unique_ptr g_GUI; 31 | -------------------------------------------------------------------------------- /libswirl/gui/gui_android.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | original code by flyinghead 4 | */ 5 | #include "license/bsd" 6 | 7 | 8 | 9 | void gui_display_vjoy_commands(int screen_width, int screen_height, float scaling); 10 | void vjoy_start_editing(); 11 | -------------------------------------------------------------------------------- /libswirl/gui/gui_renderer.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | 8 | #pragma once 9 | #include 10 | #include 11 | 12 | #include "gui.h" 13 | 14 | void HideOSD(); 15 | 16 | struct GUIRenderer { 17 | 18 | virtual void Start() = 0; // only sets the flag 19 | virtual void Stop() = 0; 20 | 21 | virtual void UILoop() = 0; 22 | 23 | virtual void QueueEmulatorFrame(std::function callback) = 0; 24 | 25 | virtual void WaitQueueEmpty() = 0; 26 | 27 | virtual void UIFrame() = 0; 28 | virtual bool CreateContext() = 0; 29 | 30 | virtual ~GUIRenderer() { } 31 | 32 | static GUIRenderer* Create(GUI* gui); 33 | }; 34 | 35 | extern std::unique_ptr g_GUIRenderer; -------------------------------------------------------------------------------- /libswirl/gui/gui_util.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | original code by flyinghead 4 | */ 5 | #include "license/bsd" 6 | 7 | 8 | 9 | #pragma once 10 | 11 | #include 12 | 13 | typedef void (*StringCallback)(bool cancelled, std::string selection); 14 | 15 | void select_directory_popup(const char *prompt, float scaling, StringCallback callback); 16 | void gui_ShowHelpMarker(const char* desc); 17 | -------------------------------------------------------------------------------- /libswirl/hw/StaticForward.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #pragma once 8 | 9 | // Template magic for STATIC_FORWARD 10 | template 11 | class FI { 12 | 13 | }; 14 | 15 | template 16 | struct FI { 17 | using r_type = R; 18 | using c_type = C; 19 | 20 | static R(*forward(R(*fn)(void* context, Args...)))(void* ctx, Args...) { 21 | return fn; 22 | } 23 | }; 24 | 25 | #define STATIC_FORWARD(klass, function) FI::forward([](void* ctx, auto... args) { \ 26 | auto that = reinterpret_cast(ctx); return that->function(args...); \ 27 | }) 28 | 29 | // this is here to prevent gcc warning -------------------------------------------------------------------------------- /libswirl/hw/aica/aica.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /libswirl/hw/aica/aica_mem.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #pragma once 8 | #include "aica.h" 9 | -------------------------------------------------------------------------------- /libswirl/hw/aica/aica_mmio.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #pragma once 8 | #include "types.h" 9 | #include "hw/holly/sb.h" 10 | #include "hw/sh4/sh4_mmio.h" 11 | 12 | struct AicaContext { 13 | u8 regs[0x8000]; 14 | }; 15 | 16 | struct AudioStream; 17 | struct SystemBus; 18 | struct ASIC; 19 | struct DSP; 20 | 21 | struct AICA : MMIODevice { 22 | //Mainloop 23 | virtual void Update(u32 Samples) = 0; 24 | 25 | //Aica reads (both sh4&arm) 26 | virtual u32 ReadReg(u32 addr, u32 size) = 0; 27 | virtual void WriteReg(u32 addr, u32 data, u32 size) = 0; 28 | 29 | virtual void TimeStep() = 0; 30 | 31 | static AicaContext* CreateContext() { 32 | return new AicaContext(); 33 | } 34 | 35 | static AICA* Create(AudioStream* audio_stream, SystemBus* sb, ASIC* asic, DSP* dsp, AicaContext* aica_ctx, u8* aica_ram, u32 aram_size); 36 | 37 | static MMIODevice* CreateRTC(); 38 | }; 39 | 40 | struct ASIC; 41 | struct DSP; 42 | 43 | 44 | 45 | 46 | void libAICA_TimeStep(); 47 | 48 | u32 libAICA_GetRTC_now(); -------------------------------------------------------------------------------- /libswirl/hw/aica/dsp.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #pragma once 8 | #include "hw/sh4/sh4_mmio.h" 9 | 10 | enum DspBackends { 11 | DSPBE_INTERPRETER, 12 | DSPBE_DYNAREC, 13 | }; 14 | 15 | struct dsp_context_t; 16 | struct AicaContext; 17 | 18 | struct DSP : MMIODevice { 19 | virtual void Step() = 0; 20 | virtual void WritenMem(u32 addr) = 0; 21 | virtual bool setBackend(DspBackends backend) = 0; 22 | virtual dsp_context_t* GetDspContext() = 0; 23 | 24 | static DSP* Create(AicaContext* aica_ctx, u8* aica_ram, u32 aram_size); 25 | }; 26 | 27 | static inline void libDSP_Step() { 28 | sh4_cpu->GetA0H(A0H_DSP)->Step(); 29 | } 30 | 31 | -------------------------------------------------------------------------------- /libswirl/hw/arm7/SoundCPU.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #pragma once 8 | #include "hw/sh4/sh4_mmio.h" 9 | 10 | enum Arm7Backends { 11 | ARM7BE_INTERPRETER, 12 | ARM7BE_DYNAREC 13 | }; 14 | 15 | struct AICA; 16 | 17 | struct SoundCPU : MMIODevice { 18 | 19 | virtual bool setBackend(Arm7Backends backend) = 0; 20 | 21 | virtual void SetResetState(u32 State) = 0; 22 | virtual void Update(u32 cycles) = 0; 23 | virtual void InterruptChange(u32 bits, u32 L) = 0; 24 | virtual void InvalidateJitCache() = 0; 25 | 26 | virtual ~SoundCPU() { } 27 | 28 | static SoundCPU* Create(AICA* aica, u8* aica_ram, u32 aram_size); 29 | }; -------------------------------------------------------------------------------- /libswirl/hw/arm7/arm7.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #pragma once 8 | #include "types.h" 9 | 10 | struct Arm7Context; 11 | 12 | struct ARM7Backend { 13 | 14 | static u32 DYNACALL singleOp(Arm7Context* ctx, u32 opcode); 15 | static u32 DYNACALL Step(Arm7Context* ctx); 16 | static u32 DYNACALL StepMany(Arm7Context* ctx, u32 minCycles); 17 | 18 | static void DYNACALL CPUSwitchMode(Arm7Context* ctx, int mode, bool saveState); 19 | static void DYNACALL CPUUpdateFlags(Arm7Context* ctx); 20 | static void DYNACALL UpdateInterrupts(Arm7Context* ctx); 21 | static void DYNACALL CPUUpdateCPSR(Arm7Context* ctx); 22 | static void DYNACALL CPUFiq(Arm7Context* ctx); 23 | 24 | virtual void Run(u32 uNumCycles) = 0; 25 | virtual void UpdateInterrupts() = 0; 26 | virtual void InvalidateJitCache() = 0; 27 | virtual void* GetEntrypointBase() = 0; 28 | 29 | virtual ~ARM7Backend() { } 30 | 31 | static ARM7Backend* CreateInterpreter(Arm7Context* ctx); 32 | static ARM7Backend* CreateJit(Arm7Context* ctx); 33 | }; 34 | 35 | void libARM_SetResetState(bool Reset); 36 | void libARM_InterruptChange(u32 bits, u32 L); 37 | 38 | #define arm_sh4_bias (2) 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /libswirl/hw/arm7/arm7_interpreter.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #include "arm7.h" 8 | #include "arm7_context.h" 9 | 10 | /* 11 | void CPUSwitchMode(int mode, bool saveState, bool breakLoop=true); 12 | extern "C" void CPUFiq(); 13 | void CPUUpdateCPSR(); 14 | void CPUUpdateFlags(); 15 | void CPUSoftwareInterrupt(int comment); 16 | void CPUUndefinedException(); 17 | */ 18 | 19 | struct Arm7Interpreter_impl : ARM7Backend { 20 | 21 | Arm7Context* ctx; 22 | 23 | Arm7Interpreter_impl(Arm7Context* ctx) : ctx(ctx) { } 24 | 25 | void UpdateInterrupts() 26 | { 27 | ARM7Backend::UpdateInterrupts(ctx); 28 | } 29 | 30 | void Run(u32 CycleCount) 31 | { 32 | StepMany(ctx, CycleCount); 33 | } 34 | 35 | void InvalidateJitCache() { 36 | 37 | } 38 | 39 | void* GetEntrypointBase() { 40 | return nullptr; 41 | } 42 | }; 43 | 44 | ARM7Backend* ARM7Backend::CreateInterpreter(Arm7Context* ctx) { 45 | return new Arm7Interpreter_impl(ctx); 46 | } -------------------------------------------------------------------------------- /libswirl/hw/arm7/virt_arm.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #include "types.h" 8 | 9 | 10 | void virt_arm_reset(); 11 | void virt_arm_init(); 12 | u32 DYNACALL virt_arm_op(u32 opcode); 13 | u32& virt_arm_reg(u32 id); -------------------------------------------------------------------------------- /libswirl/hw/bba/VirtualNetwork.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | #include "VirtualNetwork.h" 7 | 8 | struct VirtualNetwork_null_impl: VirtualNetwork { 9 | virtual void GetMacAddress(mac_address* mac) { 10 | memset(mac, 0x88, sizeof(mac)); 11 | } 12 | 13 | virtual void SendEthernetPacket(const void* packet, int len) { 14 | // do nothing 15 | } 16 | 17 | virtual int RecvEthernetPacket(void* packet, int max_len) { 18 | // no packets to recieve 19 | return 0; 20 | } 21 | }; 22 | 23 | VirtualNetwork* VirtualNetwork::CreateNullNetwork() { 24 | return new VirtualNetwork_null_impl(); 25 | } -------------------------------------------------------------------------------- /libswirl/hw/bba/VirtualNetwork.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | #pragma once 7 | 8 | #include "types.h" 9 | 10 | struct mac_address 11 | { 12 | u8 bytes[6]; 13 | 14 | bool operator==(const mac_address& rhs) const 15 | { 16 | return memcmp(bytes, rhs.bytes, sizeof(bytes)) == 0; 17 | } 18 | 19 | bool operator!=(const mac_address& rhs) const 20 | { 21 | return !(*this == rhs); 22 | } 23 | }; 24 | 25 | struct VirtualNetwork { 26 | virtual void GetMacAddress(mac_address* mac) = 0; 27 | 28 | virtual void SendEthernetPacket(const void* packet, int len) = 0; 29 | virtual int RecvEthernetPacket(void* packet, int max_len) = 0; 30 | 31 | VirtualNetwork* CreatePcapNetwork(const char* adapter); 32 | 33 | VirtualNetwork* CreateNullNetwork(); 34 | }; -------------------------------------------------------------------------------- /libswirl/hw/bba/bba.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #pragma once 8 | #include "types.h" 9 | 10 | struct ASIC; 11 | struct VirtualNetwork; 12 | 13 | MMIODevice* Create_BBA(ASIC* asic, VirtualNetwork* network); -------------------------------------------------------------------------------- /libswirl/hw/bba/ethernet.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "types.h" 4 | #include "VirtualNetwork.h" 5 | 6 | #pragma pack(push,1) 7 | 8 | struct ip_address 9 | { 10 | u8 bytes[4]; 11 | }; 12 | 13 | struct ethernet_header 14 | { 15 | mac_address dst; 16 | mac_address src; 17 | u16 protocol; 18 | }; 19 | 20 | struct arp_packet 21 | { 22 | u16 hw_type; 23 | u16 protocol; 24 | u8 h_addr_len; 25 | u8 p_addr_len; 26 | u16 operation; 27 | mac_address h_src; 28 | ip_address p_src; 29 | mac_address h_dst; 30 | ip_address p_dst; 31 | }; 32 | 33 | struct ip_header { 34 | u8 ip_vhl; /* version << 4 | header length >> 2 */ 35 | u8 ip_tos; /* type of service */ 36 | u16 ip_len; /* total length */ 37 | u16 ip_id; /* identification */ 38 | u16 ip_off; /* fragment offset field */ 39 | u8 ip_ttl; /* time to live */ 40 | u8 ip_p; /* protocol */ 41 | u16 ip_sum; /* checksum */ 42 | ip_address ip_src; /* source and dest address */ 43 | ip_address ip_dst; 44 | }; 45 | 46 | struct full_arp_packet 47 | { 48 | ethernet_header header; 49 | arp_packet arp; 50 | }; 51 | 52 | #pragma pack(pop) 53 | 54 | #define ARP_REQUEST 0x0100 //values are big-endian 55 | -------------------------------------------------------------------------------- /libswirl/hw/gdrom/README.md: -------------------------------------------------------------------------------- 1 | # GD-ROM: Gigabyte Disc Read-Only Memory 2 | 3 | - This is the GD-ROM emulation part v3. v1 was unusable and v2 was our initial 4 | release. 5 | 6 | ### Notes: 7 | - Technical approach is wrong 8 | - Some secondary stuff are not (really) implemented 9 | -------------------------------------------------------------------------------- /libswirl/hw/gdrom/disc_common.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #pragma once 8 | #include "imgread/imgread.h" 9 | 10 | #include 11 | using namespace std; 12 | 13 | #include "deps/coreio/coreio.h" 14 | 15 | extern u32 NullDriveDiscType; 16 | 17 | int GetFile(char *szFileName); 18 | 19 | void printtoc(TocInfo* toc,SessionInfo* ses); 20 | extern u8 q_subchannel[96]; 21 | -------------------------------------------------------------------------------- /libswirl/hw/gdrom/gdrom_if.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | /* 8 | ** gdrom_if.h 9 | */ 10 | #pragma once 11 | #include "types.h" 12 | 13 | //there were at least 4 gdrom implementations, ZGDROM, HLE, gdromv1 (never worked), gdromv2 (first release) 14 | //i removed the #defines to select them as they are now redundant, so this just becomes a part of 15 | //the code's history :) 16 | #include "gdromv3.h" 17 | 18 | u32 ReadMem_gdrom(u32 Addr, u32 sz); 19 | void WriteMem_gdrom(u32 Addr, u32 data, u32 sz); -------------------------------------------------------------------------------- /libswirl/hw/holly/holly_intc.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #pragma once 8 | #include "types.h" 9 | #include "hw/sh4/sh4_mem.h" 10 | #include "hw/sh4/sh4_mmio.h" 11 | 12 | void asic_RaiseInterrupt(HollyInterruptID inter); 13 | void asic_CancelInterrupt(HollyInterruptID inter); 14 | 15 | struct ASIC: MMIODevice { 16 | virtual void RaiseInterrupt(HollyInterruptID inter) = 0; 17 | virtual void CancelInterrupt(HollyInterruptID inter) = 0; 18 | }; 19 | 20 | ASIC* Create_ASIC(SystemBus* sb); -------------------------------------------------------------------------------- /libswirl/hw/holly/sb.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | /* 8 | Nice helper #defines 9 | */ 10 | 11 | #pragma once 12 | #include "types.h" 13 | #include "hw/RegisterStruct.h" 14 | #include "hw/StaticForward.h" 15 | #include "hw/sh4/sh4_mmio.h" 16 | #include 17 | 18 | struct SystemBus : MMIODevice { 19 | array sb_regs; 20 | 21 | virtual void RegisterRIO(void* context, u32 reg_addr, RegIO flags, RegReadAddrFP* rf = nullptr, RegWriteAddrFP* wf = nullptr) = 0; 22 | }; 23 | 24 | #include "sb_regs.h" -------------------------------------------------------------------------------- /libswirl/hw/holly/sh4_mem_area0.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #pragma once 8 | #include "types.h" 9 | 10 | struct SuperH4; 11 | 12 | void map_area0_init(SuperH4* sh4); 13 | void map_area0(SuperH4* sh4, u32 base); -------------------------------------------------------------------------------- /libswirl/hw/maple/maple_helper.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #include "types.h" 8 | #include "maple_if.h" 9 | 10 | u32 maple_GetBusId(u32 addr) 11 | { 12 | return addr>>6; 13 | } 14 | 15 | u32 maple_GetPort(u32 addr) 16 | { 17 | for (int i=0;i<6;i++) 18 | { 19 | if ((1< subdevice , 5 -> main device :) 37 | u32 maple_GetAddress(u32 bus,u32 port) 38 | { 39 | u32 rv=bus<<6; 40 | rv|=1< 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | #else 22 | #include 23 | #endif 24 | 25 | #ifndef _WIN32 26 | #define closesocket close 27 | typedef int sock_t; 28 | #define VALID(s) ((s) >= 0) 29 | #define L_EWOULDBLOCK EWOULDBLOCK 30 | #define L_EAGAIN EAGAIN 31 | #define get_last_error() (errno) 32 | #define INVALID_SOCKET (-1) 33 | #else 34 | typedef SOCKET sock_t; 35 | #define VALID(s) ((s) != INVALID_SOCKET) 36 | #define L_EWOULDBLOCK WSAEWOULDBLOCK 37 | #define L_EAGAIN WSAEWOULDBLOCK 38 | #define get_last_error() (WSAGetLastError()) 39 | #define perror(s) do { if (s) printf("%s: ", s); printf("Winsock error: %d\n", WSAGetLastError()); } while (false) 40 | #endif 41 | 42 | #endif 43 | -------------------------------------------------------------------------------- /libswirl/hw/modem/picoppp.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | original code by flyinghead 4 | */ 5 | #include "license/bsd" 6 | 7 | 8 | 9 | 10 | bool start_pico(); 11 | void stop_pico(); 12 | void write_pico(u8 b); 13 | int read_pico(); 14 | -------------------------------------------------------------------------------- /libswirl/hw/naomi/awave_regs.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | original code by flyinghead 4 | */ 5 | #include "license/bsd" 6 | 7 | 8 | 9 | #pragma once 10 | 11 | enum 12 | { 13 | AW_EPR_OFFSETL_addr = 0x00, 14 | AW_EPR_OFFSETH_addr = 0x04, 15 | AW_MPR_RECORD_INDEX_addr = 0x0C, 16 | AW_MPR_FIRST_FILE_INDEX_addr = 0x10, 17 | AW_MPR_FILE_OFFSETL_addr = 0x14, 18 | AW_MPR_FILE_OFFSETH_addr = 0x18, 19 | AW_PIO_DATA_addr = 0x80, 20 | }; 21 | 22 | -------------------------------------------------------------------------------- /libswirl/hw/naomi/decrypt.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #ifndef __DECRYPT_STV_H__ 8 | #define __DECRYPT_STV_H__ 9 | 10 | extern u16 cryptoDecrypt(); 11 | extern void cryptoReset(); 12 | extern void cyptoSetKey(u32 privKey); 13 | extern void cyptoSetLowAddr(u16 val); 14 | extern void cyptoSetHighAddr(u16 val); 15 | extern void cyptoSetSubkey(u16 subKey); 16 | 17 | #endif 18 | -------------------------------------------------------------------------------- /libswirl/hw/naomi/naomi.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | /* 8 | ** naomi.h 9 | */ 10 | 11 | #pragma once 12 | 13 | void NaomiBoardIDWrite(const u16 Data); 14 | void NaomiBoardIDWriteControl(const u16 Data); 15 | u16 NaomiBoardIDRead(); 16 | u16 NaomiGameIDRead(); 17 | void NaomiGameIDWrite(const u16 Data); 18 | void naomi_process(u32 r3c,u32 r40,u32 r44, u32 r48); 19 | 20 | typedef u16 (*getNaomiAxisFP)(); 21 | 22 | struct NaomiInputMapping { 23 | getNaomiAxisFP axis[8]; 24 | u8 button_mapping_byte[16]; 25 | u8 button_mapping_mask[16]; 26 | }; 27 | 28 | extern NaomiInputMapping Naomi_Mapping; 29 | 30 | extern u32 reg_dimm_3c; //IO window ! written, 0x1E03 some flag ? 31 | extern u32 reg_dimm_40; //parameters 32 | extern u32 reg_dimm_44; //parameters 33 | extern u32 reg_dimm_48; //parameters 34 | extern u32 reg_dimm_4c; //status/control reg ? 35 | 36 | extern bool NaomiDataRead; 37 | extern u32 naomi_updates; 38 | -------------------------------------------------------------------------------- /libswirl/hw/naomi/naomi_regs.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | /* 8 | ** naomi_regs.h 9 | */ 10 | 11 | #pragma once 12 | 13 | enum 14 | { 15 | NAOMI_ROM_OFFSETH_addr = 0x5f7000, 16 | NAOMI_ROM_OFFSETL_addr = 0x5f7004, 17 | NAOMI_ROM_DATA_addr = 0x5f7008, 18 | NAOMI_DMA_OFFSETH_addr = 0x5f700C, 19 | NAOMI_DMA_OFFSETL_addr = 0x5f7010, 20 | NAOMI_DMA_COUNT_addr = 0x5f7014, 21 | NAOMI_BOARDID_WRITE_addr = 0x5F7078, 22 | NAOMI_BOARDID_READ_addr = 0x5F707C, 23 | NAOMI_COMM_OFFSET_addr = 0x5F7050, 24 | NAOMI_COMM_DATA_addr = 0x5F7054, 25 | }; 26 | -------------------------------------------------------------------------------- /libswirl/hw/pvr/config.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #define OP_ON 1 8 | #define OP_OFF 2 9 | 10 | //Debugging stuff 11 | #define DO_VERIFY OP_OFF 12 | 13 | 14 | //DO NOT EDIT -- overrides for default according to build options 15 | #ifdef _DEBUG 16 | #undef DO_VERIFY 17 | #define DO_VERIFY OP_ON 18 | #endif -------------------------------------------------------------------------------- /libswirl/hw/pvr/pvr_mem.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #pragma once 8 | #include "types.h" 9 | #include "types.h" 10 | 11 | 12 | 13 | u32 pvr_map32(u32 offset32); 14 | f32 vrf(u8* vram, u32 addr); 15 | u32 vri(u8* vram, u32 addr); 16 | 17 | //vram 32-64b 18 | 19 | 20 | extern bool fb_dirty; 21 | 22 | void pvr_update_framebuffer_watches(); 23 | 24 | //read 25 | u8 DYNACALL pvr_read_area1_8(void*, u32 addr); 26 | u16 DYNACALL pvr_read_area1_16(void*, u32 addr); 27 | u32 DYNACALL pvr_read_area1_32(void*, u32 addr); 28 | //write 29 | void DYNACALL pvr_write_area1_8(void*, u32 addr,u8 data); 30 | void DYNACALL pvr_write_area1_16(void*, u32 addr,u16 data); 31 | void DYNACALL pvr_write_area1_32(void*, u32 addr,u32 data); 32 | 33 | //regs 34 | 35 | struct SystemBus; 36 | //Init/Term , global 37 | void pvr_mem_Init(SystemBus* sb); 38 | 39 | void TAWrite(u32 address,u32* data,u32 count, u8* vram); 40 | extern "C" void DYNACALL TAWriteSQ(u32 address,u8* sqb); 41 | 42 | //registers 43 | #define PVR_BASE 0x005F8000 44 | -------------------------------------------------------------------------------- /libswirl/hw/pvr/pvr_regs.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #include "pvr_regs.h" 8 | #include "pvr_mem.h" 9 | #include "Renderer_if.h" 10 | #include "ta.h" 11 | #include "spg.h" 12 | 13 | #include "hw/sh4/sh4_mmio.h" 14 | -------------------------------------------------------------------------------- /libswirl/hw/pvr/pvr_sb_regs.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #pragma once 8 | #include "types.h" 9 | 10 | struct SystemBus; -------------------------------------------------------------------------------- /libswirl/hw/pvr/pvr_yuv.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #pragma once 8 | #include "types.h" 9 | 10 | struct ASIC; 11 | void YUV_init(ASIC* asic); 12 | void YUV_data(u32* data, u32 count, u8* vram); -------------------------------------------------------------------------------- /libswirl/hw/pvr/spg.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #pragma once 8 | 9 | #include "hw/sh4/sh4_mmio.h" 10 | 11 | struct ASIC; 12 | struct SPG : MMIODevice { 13 | 14 | virtual void CalculateSync() = 0; 15 | virtual void read_lightgun_position(int x, int y) = 0; 16 | 17 | virtual ~SPG() { } 18 | 19 | static SPG* Create(ASIC* asic); 20 | }; 21 | 22 | void read_lightgun_position(int x, int y); -------------------------------------------------------------------------------- /libswirl/hw/pvr/ta.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #pragma once 8 | 9 | #include "hw/holly/holly_intc.h" 10 | #include "hw/sh4/sh4_if.h" 11 | #include "oslib/oslib.h" 12 | #include "ta_structs.h" 13 | 14 | struct TA_context; 15 | #if FEAT_TA == TA_HLE 16 | void ta_init(); 17 | void ta_reset(); 18 | void ta_term(); 19 | 20 | 21 | void ta_vtx_ListCont(); 22 | void ta_vtx_ListInit(); 23 | void ta_vtx_SoftReset(); 24 | 25 | void DYNACALL ta_vtx_data32(void* data); 26 | void ta_vtx_data(u32* data, u32 size); 27 | #endif 28 | 29 | struct Renderer; 30 | bool ta_parse_vdrc(Renderer* renderer, u8* vram, TA_context* ctx); 31 | 32 | #define TRIG_SORT 1 33 | -------------------------------------------------------------------------------- /libswirl/hw/pvr/ta_const_df.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | ///this file is here to make up for C++'s limitations 8 | static TaListFP* ta_poly_data_lut[15] = 9 | { 10 | ta_poly_data<0,SZ32>, 11 | ta_poly_data<1,SZ32>, 12 | ta_poly_data<2,SZ32>, 13 | ta_poly_data<3,SZ32>, 14 | ta_poly_data<4,SZ32>, 15 | ta_poly_data<5,SZ64>, 16 | ta_poly_data<6,SZ64>, 17 | ta_poly_data<7,SZ32>, 18 | ta_poly_data<8,SZ32>, 19 | ta_poly_data<9,SZ32>, 20 | ta_poly_data<10,SZ32>, 21 | ta_poly_data<11,SZ64>, 22 | ta_poly_data<12,SZ64>, 23 | ta_poly_data<13,SZ64>, 24 | ta_poly_data<14,SZ64>, 25 | }; 26 | //32/64b , full 27 | static TaPolyParamFP* ta_poly_param_lut[5]= 28 | { 29 | AppendPolyParam0, 30 | AppendPolyParam1, 31 | AppendPolyParam2Full, 32 | AppendPolyParam3, 33 | AppendPolyParam4Full 34 | }; 35 | //64b , first part 36 | static TaPolyParamFP* ta_poly_param_a_lut[5]= 37 | { 38 | (TaPolyParamFP*)0, 39 | (TaPolyParamFP*)0, 40 | AppendPolyParam2A, 41 | (TaPolyParamFP*)0, 42 | AppendPolyParam4A 43 | }; 44 | 45 | //64b , , second part 46 | static TaListFP* ta_poly_param_b_lut[5]= 47 | { 48 | (TaListFP*)0, 49 | (TaListFP*)0, 50 | ta_poly_B_32<2>, 51 | (TaListFP*)0, 52 | ta_poly_B_32<4> 53 | }; 54 | -------------------------------------------------------------------------------- /libswirl/hw/sh4/SuperH4_impl.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #pragma once 8 | 9 | #include "types.h" 10 | #include 11 | 12 | struct SuperH4Backend; 13 | struct MMIODevice; 14 | 15 | struct SuperH4_impl final : SuperH4 { 16 | unique_ptr devices[A0H_MAX]; 17 | unique_ptr sh4_backend; 18 | 19 | void SetA0Handler(Area0Hanlders slot, MMIODevice* dev); 20 | MMIODevice* GetA0Handler(Area0Hanlders slot); 21 | 22 | bool setBackend(SuperH4Backends backend); 23 | 24 | SuperH4_impl(); 25 | 26 | void Run(); 27 | 28 | void Stop(); 29 | 30 | void Start(); 31 | 32 | void Step(); 33 | 34 | void Skip(); 35 | 36 | void Reset(bool Manual); 37 | 38 | bool IsRunning(); 39 | 40 | bool Init(); 41 | 42 | void Term(); 43 | 44 | void ResetCache(); 45 | 46 | void serialize(void** data, unsigned int* total_size); 47 | void unserialize(void** data, unsigned int* total_size); 48 | }; -------------------------------------------------------------------------------- /libswirl/hw/sh4/dyna/decoder_opcodes.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #pragma once 8 | #if FEAT_SHREC != DYNAREC_NONE 9 | #define sh4dec(str) void dec_##str (u32 op) 10 | #else 11 | #define sh4dec(str) static void dec_##str (u32 op) { } 12 | #endif 13 | 14 | sh4dec(i1000_1011_iiii_iiii); 15 | sh4dec(i1000_1111_iiii_iiii); 16 | sh4dec(i1000_1001_iiii_iiii); 17 | sh4dec(i1000_1101_iiii_iiii); 18 | sh4dec(i1010_iiii_iiii_iiii); 19 | sh4dec(i0000_nnnn_0010_0011); 20 | sh4dec(i0100_nnnn_0010_1011); 21 | sh4dec(i1011_iiii_iiii_iiii); 22 | sh4dec(i0000_nnnn_0000_0011); 23 | sh4dec(i0100_nnnn_0000_1011); 24 | sh4dec(i0000_0000_0000_1011); 25 | sh4dec(i0000_0000_0010_1011); 26 | sh4dec(i1100_0011_iiii_iiii); 27 | sh4dec(i0000_0000_0001_1011); 28 | //sh4dec(i0100_nnnn_0000_0111); 29 | sh4dec(i0100_nnnn_0000_1110); 30 | sh4dec(i0011_nnnn_mmmm_1000); 31 | sh4dec(i0011_nnnn_mmmm_1100); 32 | sh4dec(i0111_nnnn_iiii_iiii); 33 | sh4dec(i0000_0000_0000_1001); 34 | sh4dec(i1111_0011_1111_1101); 35 | sh4dec(i1111_1011_1111_1101); 36 | sh4dec(i0100_nnnn_0010_0100); 37 | sh4dec(i0100_nnnn_0010_0101); 38 | -------------------------------------------------------------------------------- /libswirl/hw/sh4/dyna/rec_config.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #pragma once 8 | #define CPU_RATIO (1) 9 | -------------------------------------------------------------------------------- /libswirl/hw/sh4/modules/ccn.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #pragma once 8 | 9 | #include "types.h" 10 | 11 | extern u32 CCN_QACR_TR[2]; -------------------------------------------------------------------------------- /libswirl/hw/sh4/modules/dmac.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #pragma once 8 | 9 | #include "types.h" 10 | 11 | //Init/Res/Term 12 | 13 | void UpdateDMA(); 14 | 15 | 16 | 17 | #define DMAOR_MASK 0xFFFF8201 -------------------------------------------------------------------------------- /libswirl/hw/sh4/modules/mmu.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #pragma once 8 | #include "types.h" 9 | #include "hw/sh4/sh4_mmr.h" 10 | 11 | struct TLB_Entry 12 | { 13 | CCN_PTEH_type Address; 14 | CCN_PTEL_type Data; 15 | CCN_PTEA_type Assistance; 16 | }; 17 | 18 | extern TLB_Entry UTLB[64]; 19 | extern TLB_Entry ITLB[4]; 20 | extern u32 sq_remap[64]; 21 | 22 | //These are working only for SQ remaps on ndce 23 | bool UTLB_Sync(u32 entry); 24 | void ITLB_Sync(u32 entry); 25 | 26 | bool mmu_match(u32 va, CCN_PTEH_type Address, CCN_PTEL_type Data); 27 | void mmu_set_state(); 28 | 29 | #if defined(NO_MMU) 30 | bool inline mmu_TranslateSQW(u32 addr, u32* mapped) { 31 | *mapped = sq_remap[(addr>>20)&0x3F] | (addr & 0xFFFE0); 32 | return true; 33 | } 34 | #else 35 | u8 DYNACALL mmu_ReadMem8(u32 addr); 36 | u16 DYNACALL mmu_ReadMem16(u32 addr); 37 | u16 DYNACALL mmu_IReadMem16(u32 addr); 38 | u32 DYNACALL mmu_ReadMem32(u32 addr); 39 | u64 DYNACALL mmu_ReadMem64(u32 addr); 40 | 41 | void DYNACALL mmu_WriteMem8(u32 addr, u8 data); 42 | void DYNACALL mmu_WriteMem16(u32 addr, u16 data); 43 | void DYNACALL mmu_WriteMem32(u32 addr, u32 data); 44 | void DYNACALL mmu_WriteMem64(u32 addr, u64 data); 45 | 46 | bool mmu_TranslateSQW(u32 addr, u32* mapped); 47 | #endif 48 | -------------------------------------------------------------------------------- /libswirl/hw/sh4/modules/mmu_impl.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #pragma once 8 | #include "types.h" 9 | #include "ccn.h" 10 | #include "mmu.h" 11 | 12 | 13 | //Do a full lookup on the UTLB entry's 14 | //Return Values 15 | //Translation was sucessfull , rv contains return 16 | #define MMU_ERROR_NONE 0 17 | //TLB miss 18 | #define MMU_ERROR_TLB_MISS 1 19 | //TLB Multyhit 20 | #define MMU_ERROR_TLB_MHIT 2 21 | //Mem is read/write protected (depends on translation type) 22 | #define MMU_ERROR_PROTECTED 3 23 | //Mem is write protected , firstwrite 24 | #define MMU_ERROR_FIRSTWRITE 4 25 | //data-Opcode read/write missasligned 26 | #define MMU_ERROR_BADADDR 5 27 | //Can't Execute 28 | #define MMU_ERROR_EXECPROT 6 29 | 30 | //Translation Types 31 | //Opcode read 32 | #define MMU_TT_IREAD 0 33 | //Data write 34 | #define MMU_TT_DWRITE 1 35 | //Data write 36 | #define MMU_TT_DREAD 2 37 | //Do an mmu lookup for va , returns translation status , if MMU_ERROR_NONE , rv is set to translated index 38 | 39 | extern u32 mmu_error_TT; 40 | 41 | void MMU_Init(); 42 | void MMU_Reset(bool Manual); 43 | void MMU_Term(); 44 | -------------------------------------------------------------------------------- /libswirl/hw/sh4/modules/modules.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #pragma once 8 | #include "types.h" 9 | #include "sh4_mod.h" 10 | 11 | struct SuperH4Mmr; 12 | struct SystemBus; 13 | 14 | #define DEFAULT_MOD(Mod) \ 15 | struct Sh4Mod##Mod : SuperH4Module { static Sh4Mod##Mod * Create(SuperH4Mmr* sh4mmr); }; 16 | 17 | DEFAULT_MOD(Bsc) 18 | DEFAULT_MOD(Cpg) 19 | DEFAULT_MOD(Dmac) 20 | DEFAULT_MOD(Rtc) 21 | DEFAULT_MOD(Intc) 22 | DEFAULT_MOD(Sci) 23 | DEFAULT_MOD(Scif) 24 | DEFAULT_MOD(Ubc) 25 | DEFAULT_MOD(Tmu) 26 | DEFAULT_MOD(Ccn) 27 | 28 | void MMU_init(SuperH4Mmr* sh4mmr); 29 | void MMU_reset(); 30 | void MMU_term(); 31 | -------------------------------------------------------------------------------- /libswirl/hw/sh4/modules/sci.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | /* 8 | SCI not implemented 9 | */ 10 | 11 | #include "types.h" 12 | #include "hw/sh4/sh4_mmr.h" 13 | #include "modules.h" 14 | 15 | struct Sh4ModSci_impl : Sh4ModSci 16 | { 17 | SuperH4Mmr* sh4mmr; 18 | //Init term res 19 | Sh4ModSci_impl(SuperH4Mmr* sh4mmr) : sh4mmr(sh4mmr) 20 | { 21 | } 22 | 23 | void Reset() 24 | { 25 | } 26 | 27 | }; 28 | 29 | Sh4ModSci* Sh4ModSci::Create(SuperH4Mmr* sh4mmr) { 30 | return new Sh4ModSci_impl(sh4mmr); 31 | } -------------------------------------------------------------------------------- /libswirl/hw/sh4/modules/sh4_mod.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #pragma once 8 | 9 | struct SuperH4Module { 10 | virtual void Reset() = 0; 11 | 12 | virtual void serialize(void** data, unsigned int* total_size) { } 13 | virtual void unserialize(void** data, unsigned int* total_size) { } 14 | 15 | virtual ~SuperH4Module() { } 16 | }; -------------------------------------------------------------------------------- /libswirl/hw/sh4/modules/tmu.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #pragma once 8 | 9 | #include "types.h" 10 | -------------------------------------------------------------------------------- /libswirl/hw/sh4/sh4_mmio.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #pragma once 8 | 9 | #include "types.h" 10 | #include "serialize.h" 11 | 12 | struct MMIODevice 13 | { 14 | virtual bool Init() { return true; } 15 | virtual void Reset(bool m) { } 16 | virtual void Term() { } 17 | 18 | virtual u32 Read(u32 addr, u32 sz) { die("not implemented"); return 0; }; 19 | virtual void Write(u32 addr, u32 data, u32 sz) { die("not implemented"); }; 20 | 21 | virtual void serialize(void** data, unsigned int* total_size) { } 22 | virtual void unserialize(void** data, unsigned int* total_size) { } 23 | 24 | virtual ~MMIODevice() { Term(); } 25 | }; 26 | -------------------------------------------------------------------------------- /libswirl/hw/sh4/sh4_opcode.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #pragma once 8 | #include "types.h" 9 | #include "sh4_if.h" 10 | 11 | enum OpcodeAccessFlags 12 | { 13 | //Explicit registers 14 | OAF_RN, 15 | OAF_RM, 16 | OAF_FN, 17 | OAF_FM, 18 | 19 | //Implicit registers 20 | OAF_SR_T, 21 | OAF_SR_S, 22 | OAF_FPSCR, 23 | OAF_PC, 24 | 25 | //Other storage 26 | OAF_MEM, 27 | OAF_SQWB, 28 | }; 29 | 30 | struct sh4_opcode 31 | { 32 | u16 raw; 33 | 34 | u32 n() { return (raw>>0)&0xF; } 35 | u32 m() { return (raw>>0)&0xF; } 36 | u32 u8() { return (raw>>0)&0xF; } 37 | u32 s8() { return (::s8)u8(); } 38 | u32 u12() { return (raw>>0)&0xF; } 39 | u32 s12() { return (s16)(u12()<<2)>>2; } 40 | 41 | u32 dn() { return (raw>>0)&0xF; } 42 | u32 dm() { return (raw>>0)&0xF; } 43 | 44 | bool is_valid(); 45 | 46 | bool is_branch(); 47 | bool has_delayslot(); 48 | 49 | bool reads(Sh4RegType reg); 50 | bool writes(Sh4RegType reg); 51 | 52 | bool defines(Sh4RegType reg) { return !reads(reg) && writes(reg); } 53 | 54 | OpcodeAccessFlags read_flags(); 55 | OpcodeAccessFlags write_flags(); 56 | }; -------------------------------------------------------------------------------- /libswirl/hw/sh4/sh4_rom.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #include "types.h" 8 | #include "sh4_rom.h" 9 | 10 | u32 sin_coefs[0x8000]= 11 | { 12 | #include "fsca-table.h" 13 | }; 14 | 15 | f32_x2 sin_table[0x10000]; 16 | 17 | void sh4rom_init() 18 | { 19 | for (int i=0x0000;i<0x10000;i++) 20 | { 21 | if (i<0x8000) 22 | sin_table[i].u[0]=(f32&)sin_coefs[i]; 23 | else 24 | sin_table[i].u[0]=-(f32&)sin_coefs[i-0x8000]; 25 | } 26 | 27 | 28 | verify(sin_table[0x8000].u[0]==0);//this is required by Ikaruga, for the bullets to behave normally 29 | 30 | for (int i=0x0000;i<0x10000;i++) 31 | { 32 | sin_table[i].u[1]=sin_table[(i+0x4000)&0xFFFF].u[0];//fill in [1] (interleave sin/cos) 33 | } 34 | } 35 | 36 | static OnLoad ol_sh4rom(&sh4rom_init); -------------------------------------------------------------------------------- /libswirl/hw/sh4/sh4_rom.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #pragma once 8 | #include "types.h" 9 | struct f32_x2 10 | { 11 | f32 u[2]; 12 | }; 13 | extern f32_x2 sin_table[0x10000]; -------------------------------------------------------------------------------- /libswirl/imgread/imgread_common.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #include "imgread_common.h" 8 | 9 | Disc* chd_parse(const wchar* file); 10 | Disc* gdi_parse(const wchar* file); 11 | Disc* cdi_parse(const wchar* file); 12 | Disc* cue_parse(const wchar* file); 13 | #if HOST_OS==OS_WINDOWS 14 | Disc* ioctl_parse(const wchar* file); 15 | #endif 16 | 17 | Disc* (*imgread_drivers[])(const wchar* path) = 18 | { 19 | chd_parse, 20 | gdi_parse, 21 | cdi_parse, 22 | cue_parse, 23 | #if HOST_OS==OS_WINDOWS 24 | ioctl_parse, 25 | #endif 26 | 0 27 | }; 28 | 29 | DiscType GuessDiscType(bool m1, bool m2, bool da) 30 | { 31 | if ((m1 == true) && (da == false) && (m2 == false)) 32 | return CdRom; 33 | else if (m2) 34 | return CdRom_XA; 35 | else if (da && m1) 36 | return CdRom_Extra; 37 | else 38 | return CdRom; 39 | } 40 | 41 | 42 | Disc* OpenDisc(const wchar* fn) 43 | { 44 | Disc* rv = NULL; 45 | 46 | for (unat i = 0; imgread_drivers[i] && !rv; i++) { // ;drivers[i] && !(rv=drivers[i](fn)); 47 | rv = imgread_drivers[i](fn); 48 | } 49 | 50 | return rv; 51 | } -------------------------------------------------------------------------------- /libswirl/imgread/imgread_common.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #pragma once 8 | 9 | #include "imgread.h" 10 | #include "coreio/coreio.h" 11 | 12 | struct RawTrackFile : TrackFile 13 | { 14 | core_file* file; 15 | s32 offset; 16 | u32 fmt; 17 | bool cleanup; 18 | 19 | RawTrackFile(core_file* file, u32 file_offs, u32 first_fad, u32 secfmt) 20 | { 21 | verify(file != 0); 22 | this->file = file; 23 | this->offset = file_offs - first_fad * secfmt; 24 | this->fmt = secfmt; 25 | this->cleanup = true; 26 | } 27 | 28 | virtual void Read(u32 FAD, u8* dst, SectorFormat* sector_type, u8* subcode, SubcodeFormat* subcode_type) 29 | { 30 | //for now hackish 31 | if (fmt == 2352) 32 | *sector_type = SECFMT_2352; 33 | else if (fmt == 2048) 34 | *sector_type = SECFMT_2048_MODE2_FORM1; 35 | else if (fmt == 2336) 36 | *sector_type = SECFMT_2336_MODE2; 37 | else if (fmt == 2448) 38 | *sector_type = SECFMT_2448_MODE2; 39 | else 40 | { 41 | verify(false); 42 | } 43 | 44 | core_fseek(file, offset + FAD * fmt, SEEK_SET); 45 | core_fread(file, dst, fmt); 46 | } 47 | virtual ~RawTrackFile() 48 | { 49 | if (cleanup && file) 50 | core_fclose(file); 51 | } 52 | }; 53 | 54 | DiscType GuessDiscType(bool m1, bool m2, bool da); -------------------------------------------------------------------------------- /libswirl/input/keyboard_device.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #include "keyboard_device.h" 8 | 9 | KeyboardDevice *KeyboardDevice::_instance; 10 | -------------------------------------------------------------------------------- /libswirl/jit/backend/arm32/ngen_arm.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #pragma once 8 | 9 | extern "C" void no_update(); 10 | extern "C" void intc_sched(); 11 | extern "C" void ngen_blockcheckfail(); 12 | 13 | 14 | extern "C" void ngen_LinkBlock_Generic_stub(); 15 | extern "C" void ngen_LinkBlock_cond_Branch_stub(); 16 | extern "C" void ngen_LinkBlock_cond_Next_stub(); 17 | 18 | extern "C" void ngen_FailedToFindBlock_(); 19 | extern "C" void ngen_mainloop(void*); -------------------------------------------------------------------------------- /libswirl/jit/emitter/arm32/E_Special.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | /* 8 | * E_Special.h 9 | * 10 | */ 11 | #pragma once 12 | 13 | 14 | namespace ARM 15 | { 16 | 17 | 18 | 19 | 20 | 21 | EAPI ARMERROR() 22 | { 23 | DECL_Id(0xFFFFFFFF); 24 | EMIT_I; 25 | } 26 | 27 | 28 | EAPI NOP() 29 | { 30 | DECL_Id(0xE320F000); 31 | EMIT_I; 32 | } 33 | 34 | EAPI SVC(u32 code) 35 | { 36 | DECL_Id(0x0F000000); 37 | I |= code&0xFFFFFF; 38 | EMIT_I; 39 | } 40 | 41 | EAPI BKPT() 42 | { 43 | DECL_Id(0x01200070); 44 | EMIT_I; 45 | } 46 | 47 | #define SWI SVC 48 | 49 | 50 | 51 | 52 | 53 | /* 54 | * Synchronization & Barrier Instructions. 55 | * 56 | */ 57 | 58 | 59 | EAPI DSB() 60 | { 61 | DECL_Id(0xF57FF04F); 62 | EMIT_I; 63 | } 64 | 65 | EAPI DMB() 66 | { 67 | DECL_Id(0xF57FF05F); 68 | EMIT_I; 69 | } 70 | 71 | EAPI ISB() 72 | { 73 | DECL_Id(0xF57FF06F); 74 | EMIT_I; 75 | } 76 | 77 | 78 | 79 | }; 80 | 81 | -------------------------------------------------------------------------------- /libswirl/jit/emitter/arm32/H_psuedo.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | /* 8 | * H_psuedo.h 9 | * 10 | */ 11 | 12 | #pragma once 13 | 14 | namespace ARM 15 | { 16 | 17 | EAPI MOV32(eReg Rd, u32 Imm32, ConditionCode CC=AL) 18 | { 19 | MOVW(Rd,((Imm32)&0xFFFF),CC); 20 | if (Imm32>>16) 21 | MOVT(Rd,((Imm32>>16)&0xFFFF),CC); 22 | } 23 | #if 0 24 | EAPI NEG(eReg Rd,eReg Rs) 25 | { 26 | RSB(Rd,Rs,0); 27 | } 28 | #endif 29 | EAPI NOT(eReg Rd,eReg Rs) 30 | { 31 | MVN(Rd,Rs); 32 | } 33 | 34 | 35 | } -------------------------------------------------------------------------------- /libswirl/jit/emitter/arm32/H_state.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | /* 8 | * H_state.h 9 | * 10 | */ 11 | #pragma once 12 | 13 | 14 | namespace ARM 15 | { 16 | 17 | enum InstructionSet { 18 | IS_ARM, 19 | IS_Thumb, 20 | IS_Jazelle, 21 | IS_ThumbEE 22 | }; 23 | 24 | enum Endian { 25 | E_Little, 26 | E_Big 27 | }; 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | } 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | -------------------------------------------------------------------------------- /libswirl/jit/emitter/x86/README.md: -------------------------------------------------------------------------------- 1 | # Our Emitter 2 | ### Oh god , x86 is a sooo badly designed opcode arch -_- 3 | --- 4 | Emitters are the place where you have functions that you give symbolic 5 | instructions and you get binaries out. 6 | 7 | -------------------------------------------------------------------------------- /libswirl/jit/emitter/x86/x86_op_classes.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #pragma once 8 | 9 | //auto generated 10 | enum x86_opcode_class 11 | { 12 | #include "generated_class_names.h" 13 | 14 | //////// 15 | op_count, 16 | }; -------------------------------------------------------------------------------- /libswirl/jit/emitter/x86/x86_op_table.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | 8 | //auto generated 9 | //Opcode data lists :) 10 | 11 | #define MA_1(x) {x} 12 | #define MA_2(x,y) {x,y} 13 | #define MA_3(x,y,z) {x,y,z} 14 | #define MA_4(x,y,z,l) {x,y,z,l} 15 | 16 | const x86_opcode all_opcodes[] = 17 | { 18 | #include "generated_descriptors.h" 19 | }; 20 | 21 | const x86_opcode* x86_opcode_list[op_count+1]= 22 | { 23 | #include "generated_indexes.h" 24 | }; 25 | -------------------------------------------------------------------------------- /libswirl/libswirl.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #pragma once 8 | 9 | #include "types.h" 10 | #include "oslib/context.h" 11 | #include 12 | #include 13 | 14 | struct VirtualDreamcast { 15 | virtual void LoadState() = 0; 16 | virtual void SaveState() = 0; 17 | virtual void Stop(function callback) = 0; 18 | virtual void Reset() = 0; 19 | virtual void Resume() = 0; 20 | virtual bool Init() = 0; 21 | virtual void Term() = 0; 22 | virtual int StartGame(const string& path) = 0; 23 | virtual void RequestReset() = 0; 24 | virtual bool HandleFault(unat addr, rei_host_context_t* ctx) = 0; 25 | virtual ~VirtualDreamcast() { } 26 | 27 | static VirtualDreamcast* Create(); 28 | }; 29 | 30 | extern unique_ptr virtualDreamcast; 31 | extern unique_ptr g_GDRDisc; 32 | 33 | 34 | // TODO: rename these 35 | int reicast_init(int argc, char* argv[]); 36 | void reicast_ui_loop(); 37 | void reicast_term(); -------------------------------------------------------------------------------- /libswirl/license/dep_gpl: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #if TARGET_LICENSE != LICENSE_GPL 4 | #error gpl is required for this module 5 | #endif -------------------------------------------------------------------------------- /libswirl/license/gpl: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | /* 4 | Copyright Reicast Team and contributors 5 | 6 | This file is part of reicast. 7 | 8 | reicast is free software: you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License as published by 10 | the Free Software Foundation, either version 2 of the License, or 11 | (at your option) any later version. 12 | 13 | reicast is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License 19 | along with reicast. If not, see . 20 | */ 21 | 22 | #if TARGET_LICENSE != LICENSE_GPL 23 | #error gpl is required for this module 24 | #endif -------------------------------------------------------------------------------- /libswirl/license/lgpl: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | /* 4 | Copyright Reicast Team and contributors 5 | 6 | This file is part of reicast. 7 | 8 | This library is free software; you can redistribute it and/or 9 | modify it under the terms of the GNU Lesser General Public 10 | License as published by the Free Software Foundation; either 11 | version 2.1 of the License, or (at your option) any later version. 12 | 13 | This library is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | Lesser General Public License for more details. 17 | 18 | You should have received a copy of the GNU Lesser General Public 19 | License along with this library; if not, write to the Free Software 20 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 21 | 22 | */ 23 | 24 | #if TARGET_LICENSE < LICENSE_LGPL 25 | #error lgpl is required for this module 26 | #endif -------------------------------------------------------------------------------- /libswirl/linux-dist/dispmanx.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #pragma once 8 | 9 | extern void dispmanx_window_create(); 10 | -------------------------------------------------------------------------------- /libswirl/linux-dist/emscripten.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #pragma once 8 | 9 | void input_emscripten_init(); -------------------------------------------------------------------------------- /libswirl/linux-dist/evdev.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #pragma once 8 | #include "types.h" 9 | 10 | extern void input_evdev_init(); 11 | extern void input_evdev_close(); 12 | extern bool input_evdev_handle(u32 port); 13 | -------------------------------------------------------------------------------- /libswirl/linux-dist/joystick.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #include "types.h" 8 | #include "linux-dist/main.h" 9 | 10 | #pragma once 11 | #define JOYSTICK_DEVICE_STRING "/dev/input/js%d" 12 | #define JOYSTICK_DEFAULT_DEVICE_ID -1 13 | #define JOYSTICK_MAP_SIZE 32 14 | 15 | extern int input_joystick_init(const char* device); 16 | extern bool input_joystick_handle(int fd, u32 port); 17 | -------------------------------------------------------------------------------- /libswirl/linux-dist/main.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #pragma once 8 | #include "types.h" 9 | 10 | extern u16 kcode[4]; 11 | extern u32 vks[4]; 12 | extern u8 rt[4], lt[4]; 13 | extern s8 joyx[4], joyy[4]; 14 | 15 | extern void* x11_win; 16 | extern void* x11_disp; 17 | -------------------------------------------------------------------------------- /libswirl/linux/context.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #pragma once 8 | 9 | #include "types.h" 10 | 11 | #include "oslib/context.h" 12 | 13 | void segfault_store(void* segfault_ctx); 14 | void segfault_load(void* segfault_ctx); 15 | void segfault_set_pc(void* segfault_ctx, unat new_pc, unat* old_pc); 16 | 17 | void context_from_segfault(rei_host_context_t* reictx); 18 | void context_to_segfault(rei_host_context_t* reictx); 19 | 20 | -------------------------------------------------------------------------------- /libswirl/linux/typedefs.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | //linux types 8 | #include 9 | #include -------------------------------------------------------------------------------- /libswirl/oslib/audiobackend_libao.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #include "oslib/audiostream.h" 8 | #ifdef USE_LIBAO 9 | 10 | #include 11 | 12 | static ao_device *aodevice; 13 | static ao_sample_format aoformat; 14 | 15 | static void libao_init(audio_backend_pull_callback_t pull_callback) 16 | { 17 | ao_initialize(); 18 | memset(&aoformat, 0, sizeof(aoformat)); 19 | 20 | aoformat.bits = 16; 21 | aoformat.channels = 2; 22 | aoformat.rate = 44100; 23 | aoformat.byte_format = AO_FMT_LITTLE; 24 | 25 | aodevice = ao_open_live(ao_default_driver_id(), &aoformat, NULL); // Live output 26 | if (!aodevice) 27 | aodevice = ao_open_live(ao_driver_id("null"), &aoformat, NULL); 28 | } 29 | 30 | static u32 libao_push(void* frame, u32 samples, bool wait) 31 | { 32 | if (aodevice) 33 | ao_play(aodevice, (char*)frame, samples * 4); 34 | 35 | return 1; 36 | } 37 | 38 | static void libao_term() 39 | { 40 | if (aodevice) 41 | { 42 | ao_close(aodevice); 43 | ao_shutdown(); 44 | } 45 | } 46 | 47 | audiobackend_t audiobackend_libao = { 48 | "libao", // Slug 49 | "libao", // Name 50 | &libao_init, 51 | &libao_push, 52 | &libao_term, 53 | NULL 54 | }; 55 | 56 | static bool ao = RegisterAudioBackend(&audiobackend_libao); 57 | #endif 58 | -------------------------------------------------------------------------------- /libswirl/oslib/audiobackend_libretro.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #include "oslib/audiostream.h" 8 | #include "libretro-common/include/libretro.h" 9 | 10 | #if BUILD_RETROARCH_CORE==1 11 | extern retro_audio_sample_batch_t audio_batch_cb; 12 | 13 | static void libretro_init(audio_backend_pull_callback_t pull_callback) 14 | { 15 | 16 | } 17 | 18 | 19 | static int libretro_getusedSamples() 20 | { 21 | return 0; 22 | // (bufferSize-xaudio_getfreesz())/4; 23 | } 24 | 25 | static u32 libretro_push(void* frame, u32 samples, bool wait) { 26 | if (audio_batch_cb == nullptr) 27 | return 1; 28 | 29 | /* 30 | struct retro_audio_callback audio_cb = { audio_callback, audio_set_state }; 31 | use_audio_cb = environ_cb(RETRO_ENVIRONMENT_SET_AUDIO_CALLBACK, &audio_cb); 32 | 33 | */ 34 | audio_batch_cb((const int16_t*)frame,samples); 35 | 36 | return 1; 37 | } 38 | 39 | static void libretro_term() 40 | { 41 | printf("Libretro_audio : terminated!\n"); 42 | audio_batch_cb = nullptr; 43 | } 44 | 45 | audiobackend_t audiobackend_libretro = { 46 | "libretro", // Slug 47 | "libretro audio subsystem", // Name 48 | &libretro_init, 49 | &libretro_push, 50 | &libretro_term, 51 | NULL 52 | }; 53 | 54 | 55 | static bool ds = RegisterAudioBackend(&audiobackend_libretro); 56 | #endif 57 | -------------------------------------------------------------------------------- /libswirl/oslib/context.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #pragma once 8 | #include "types.h" 9 | 10 | struct rei_host_context_t { 11 | #if HOST_CPU != CPU_GENERIC 12 | unat pc; 13 | #endif 14 | 15 | #if HOST_CPU == CPU_X86 16 | u32 eax; 17 | u32 ecx; 18 | u32 esp; 19 | #elif HOST_CPU == CPU_ARM 20 | u32 regs[15]; 21 | #endif 22 | }; -------------------------------------------------------------------------------- /libswirl/oslib/oslib.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #pragma once 8 | #include "types.h" 9 | 10 | void os_SetWindowText(const char* text); 11 | void os_MakeExecutable(void* ptr, u32 sz); 12 | double os_GetSeconds(); 13 | 14 | void os_DoEvents(); 15 | void os_CreateWindow(); 16 | void os_SetupInput(); 17 | 18 | #if BUILD_COMPILER==COMPILER_VC 19 | #include 20 | #endif 21 | 22 | u32 static INLINE bitscanrev(u32 v) 23 | { 24 | #if BUILD_COMPILER==COMPILER_GCC || BUILD_COMPILER==COMPILER_CLANG 25 | return 31-__builtin_clz(v); 26 | #else 27 | unsigned long rv; 28 | _BitScanReverse(&rv,v); 29 | return rv; 30 | #endif 31 | } 32 | 33 | //FIX ME 34 | #define __assume(x) 35 | 36 | void os_DebugBreak(); 37 | 38 | void os_LaunchFromURL(const string& url); 39 | 40 | bool os_gl_init(void* hwnd, void* hdc); 41 | bool os_gl_swap(); 42 | void os_gl_term(); 43 | 44 | // FIXME 2 - this needs to be os_* 45 | void UpdateInputState(u32 port); 46 | -------------------------------------------------------------------------------- /libswirl/reios/descrambl.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #pragma once 8 | 9 | #include "types.h" 10 | 11 | void descrambl_file(GDRomDisc* disc, u32 FAD, u32 file_size, u8* dst); -------------------------------------------------------------------------------- /libswirl/reios/gdrom_hle.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #pragma once 8 | 9 | #define SYSCALL_GDROM (0x00) 10 | 11 | #define GDROM_SEND_COMMAND (0x00) 12 | #define GDROM_CHECK_COMMAND (0x01) 13 | #define GDROM_MAIN (0x02) 14 | #define GDROM_INIT (0x03) 15 | #define GDROM_CHECK_DRIVE (0x04) 16 | #define GDROM_ABORT_COMMAND (0x08) 17 | #define GDROM_RESET (0x09) 18 | #define GDROM_SECTOR_MODE (0x0A) 19 | 20 | 21 | #define GDCC_PIOREAD (16) 22 | #define GDCC_DMAREAD (17) 23 | #define GDCC_GETTOC (18) 24 | #define GDCC_GETTOC2 (19) 25 | #define GDCC_PLAY (20) 26 | #define GDCC_PLAY_SECTOR (21) 27 | #define GDCC_PAUSE (22) 28 | #define GDCC_RELEASE (23) 29 | #define GDCC_INIT (24) 30 | #define GDCC_SEEK (27) 31 | #define GDCC_READ (28) 32 | #define GDCC_STOP (33) 33 | #define GDCC_GETSCD (34) 34 | #define GDCC_GETSES (35) 35 | 36 | 37 | #define CTOC_LBA(n) (n) 38 | #define CTOC_ADR(n) (n<<24) 39 | #define CTOC_CTRL(n) (n<<28) 40 | #define CTOC_TRACK(n) (n<<16) 41 | 42 | void gdrom_hle_op(); 43 | void GD_HLE_Command(u32 cc, u32 prm); -------------------------------------------------------------------------------- /libswirl/reios/reios.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #ifndef REIOS_H 8 | #define REIOS_H 9 | 10 | #include "types.h" 11 | 12 | bool reios_init(u8* rom, u8* flash); 13 | 14 | void reios_reset(); 15 | 16 | void reios_term(); 17 | 18 | void DYNACALL reios_trap(u32 op); 19 | 20 | char* reios_disk_id(); 21 | extern char reios_software_name[129]; 22 | extern char reios_product_number[11]; 23 | extern bool reios_windows_ce; 24 | 25 | #define REIOS_OPCODE 0x085B 26 | 27 | #endif //REIOS_H 28 | -------------------------------------------------------------------------------- /libswirl/reios/reios_elf.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #ifndef REIOS_ELF_H 8 | #define REIOS_ELF_H 9 | 10 | #include "types.h" 11 | 12 | bool reios_loadElf(const string& elf); 13 | 14 | #endif //REIOS_ELF_H 15 | -------------------------------------------------------------------------------- /libswirl/rend/gles/CustomTexture.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | original code by flyinghead 4 | */ 5 | #include "license/bsd" 6 | 7 | 8 | 9 | #ifndef CORE_REND_GLES_CUSTOMTEXTURE_H_ 10 | #define CORE_REND_GLES_CUSTOMTEXTURE_H_ 11 | 12 | #include 13 | #include 14 | #include "gles.h" 15 | 16 | class CustomTexture { 17 | public: 18 | CustomTexture() 19 | : 20 | loader_thread(loader_thread_func, this) 21 | {} 22 | ~CustomTexture() { Terminate(); } 23 | u8* LoadCustomTexture(u32 hash, int& width, int& height); 24 | void LoadCustomTextureAsync(TextureCacheData *texture_data); 25 | void DumpTexture(u32 hash, int w, int h, GLuint textype, void *temp_tex_buffer); 26 | 27 | private: 28 | bool Init(); 29 | void Terminate(); 30 | void LoaderThread(); 31 | std::string GetGameId(); 32 | 33 | static void *loader_thread_func(void *param) { ((CustomTexture *)param)->LoaderThread(); return NULL; } 34 | 35 | bool initialized; 36 | bool custom_textures_available; 37 | std::string textures_path; 38 | std::set unknown_hashes; 39 | cThread loader_thread; 40 | cResetEvent wakeup_thread; 41 | std::vector work_queue; 42 | cMutex work_queue_mutex; 43 | }; 44 | 45 | #endif /* CORE_REND_GLES_CUSTOMTEXTURE_H_ */ 46 | -------------------------------------------------------------------------------- /libswirl/rend/norend/norend.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | 8 | #include "hw/pvr/Renderer_if.h" 9 | #include "oslib/oslib.h" 10 | 11 | struct norend : Renderer 12 | { 13 | bool Init() 14 | { 15 | return true; 16 | } 17 | void SetFBScale(float x, float y) { } 18 | void Resize(int w, int h) { } 19 | void Term() { } 20 | 21 | 22 | bool Process(TA_context* ctx) { return true; } 23 | 24 | bool RenderPVR() 25 | { 26 | return true;//!pvrrc.isRTT; 27 | } 28 | 29 | bool RenderFramebuffer() 30 | { 31 | return true; 32 | } 33 | 34 | void Present() { } 35 | }; 36 | 37 | #include "hw/pvr/Renderer_if.h" 38 | 39 | #if FEAT_TA == TA_HLE 40 | Renderer* rend_norend(u8* vram) { return new ::norend(); } 41 | 42 | static auto norend = RegisterRendererBackend(rendererbackend_t{ "none", "No PVR Rendering", -2, rend_norend }); 43 | #endif -------------------------------------------------------------------------------- /libswirl/rend/rend.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #pragma once 8 | #include "hw/pvr/ta_ctx.h" 9 | #include "hw/pvr/Renderer_if.h" 10 | -------------------------------------------------------------------------------- /libswirl/rend/soft/refsw_pixel.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | /* 3 | This file is part of libswirl 4 | */ 5 | #include "license/bsd" 6 | 7 | #include "refsw.h" 8 | 9 | PixelPipeline* Create_RefPixelPipeline(); -------------------------------------------------------------------------------- /libswirl/scripting/lua_bindings.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #pragma once 8 | 9 | #include "lua/lua.hpp" 10 | #include 11 | 12 | void emulib_expose(lua_State* L); 13 | 14 | void luabindings_findscripts(std::string path); 15 | void luabindings_run(const char* fn); 16 | void luabindings_close(); 17 | void luabindings_onframe(); 18 | void luabindings_onstart(); 19 | void luabindings_onstop(); 20 | void luabindings_onreset(); 21 | -------------------------------------------------------------------------------- /libswirl/sdl/sdl.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #pragma once 8 | #include 9 | #include "types.h" 10 | 11 | extern void input_sdl_init(); 12 | extern void input_sdl_handle(u32 port); 13 | extern bool sdl_window_create(void** wind, void** disp); 14 | extern void sdl_window_set_text(const char* text); 15 | -------------------------------------------------------------------------------- /libswirl/serialize.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #pragma once 8 | #include "types.h" 9 | 10 | bool rc_serialize(void* src, unsigned int src_size, void** dest, unsigned int* total_size); 11 | bool rc_unserialize(void* src, unsigned int src_size, void** dest, unsigned int* total_size); 12 | bool dc_serialize(void** data, unsigned int* total_size); 13 | bool dc_unserialize(void** data, unsigned int* total_size); 14 | 15 | #define REICAST_S(v) rc_serialize(&(v), sizeof(v), data, total_size) 16 | #define REICAST_US(v) rc_unserialize(&(v), sizeof(v), data, total_size) 17 | 18 | #define REICAST_SA(v_arr,num) rc_serialize(v_arr, sizeof(v_arr[0])*num, data, total_size) 19 | #define REICAST_USA(v_arr,num) rc_unserialize(v_arr, sizeof(v_arr[0])*num, data, total_size) 20 | 21 | struct RegisterStruct; 22 | bool register_serialize(RegisterStruct* regs, size_t size, void** data, unsigned int* total_size); 23 | bool register_unserialize(RegisterStruct* regs, size_t size, void** data, unsigned int* total_size); 24 | -------------------------------------------------------------------------------- /libswirl/utils/cloudrom.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #pragma once 8 | #include "types.h" 9 | 10 | enum RomStatus 11 | { 12 | RS_MISSING, 13 | RS_DOWNLOADING, 14 | RS_DOWNLOADED 15 | }; 16 | 17 | struct OnlineRomInfo 18 | { 19 | RomStatus status = RS_MISSING; 20 | 21 | string type; 22 | string id; 23 | string name; 24 | string sha256; 25 | string url; 26 | string filename; 27 | }; 28 | 29 | struct OnlineRomsProvider 30 | { 31 | virtual void fetchRomList() = 0; 32 | 33 | virtual string getStatus() = 0; 34 | virtual bool downloadingAny() = 0; 35 | 36 | virtual vector getRoms() = 0; 37 | 38 | virtual void download(string id) = 0; 39 | 40 | virtual void downloaded(string id) = 0; 41 | 42 | virtual void remove(string id) = 0; 43 | 44 | virtual void downloadCancel() = 0; 45 | virtual bool hasDownloadErrored() = 0; 46 | virtual bool hasDownloadFinished() = 0; 47 | virtual void clearDownloadStatus() = 0; 48 | 49 | virtual float getDownloadPercent() = 0; 50 | virtual string getDownloadName() = 0; 51 | virtual string getDownloadId() = 0; 52 | 53 | static OnlineRomsProvider* CreateHttpProvider(string host, string path); 54 | }; 55 | -------------------------------------------------------------------------------- /libswirl/utils/glinit/egl/egl.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #pragma once 8 | 9 | bool egl_MakeCurrent(); 10 | void egl_GetCurrent(); 11 | bool egl_Init(void* wind, void* disp); 12 | bool egl_Swap(); 13 | void egl_Term(); -------------------------------------------------------------------------------- /libswirl/utils/glinit/glx/glx.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #pragma once 8 | #include 9 | 10 | bool glx_ChooseVisual(Display* display, long screen, XVisualInfo** visual, int* depth); 11 | bool glx_Init(void* wind, void* disp); 12 | bool glx_Swap(); 13 | void glx_Term(); -------------------------------------------------------------------------------- /libswirl/utils/glinit/sdl/sdl.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #pragma once 8 | 9 | bool sdlgl_CreateWindow(bool gles, int flags, int window_width, int window_height, void** wind, void** disp); 10 | bool sdlgl_Init(void* wind, void* disp); 11 | bool sdlgl_Swap(); 12 | void sdlgl_Term(); -------------------------------------------------------------------------------- /libswirl/utils/glinit/wgl/wgl.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #pragma once 8 | 9 | bool wgl_Init(void* hwnd, void* hdc); 10 | bool wgl_Swap(); 11 | void wgl_Term(); -------------------------------------------------------------------------------- /libswirl/utils/glwrap/GL4.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/libswirl/utils/glwrap/GL4.h -------------------------------------------------------------------------------- /libswirl/utils/glwrap/GLES.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #pragma once 8 | 9 | // Either Desktop 3+ or GLES2/GLES3 10 | 11 | #include "types.h" 12 | 13 | #if defined(TARGET_IPHONE) //apple-specific ogles2 headers 14 | //#include 15 | #include 16 | #include 17 | #elif HOST_OS == OS_DARWIN 18 | #include 19 | #else 20 | #include "khronos/GLES32/gl32.h" 21 | #include "khronos/GLES32/gl2ext.h" 22 | 23 | #include "gl3w.h" 24 | #endif 25 | -------------------------------------------------------------------------------- /libswirl/utils/http.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #pragma once 8 | #include "types.h" 9 | #include 10 | 11 | string url_encode(const string &value); 12 | 13 | enum HTTP_METHOD 14 | { 15 | HM_GET, 16 | HM_HEAD 17 | }; 18 | 19 | size_t HTTP(HTTP_METHOD method, string url, size_t offs, size_t len, std::function cb); 20 | size_t HTTP(HTTP_METHOD method, string url, size_t offs, size_t len, void* pdata); 21 | string HTTP(HTTP_METHOD method, string url); -------------------------------------------------------------------------------- /libswirl/utils/string.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | #pragma once 8 | #include "types.h" 9 | 10 | // TODO: Improve this 11 | static vector SplitString(string s, string delim) 12 | { 13 | vector rv; 14 | 15 | auto start = 0UL; 16 | auto end = s.find(delim); 17 | 18 | while (end != std::string::npos) 19 | { 20 | rv.push_back(s.substr(start, end - start)); 21 | start = end + delim.length(); 22 | end = s.find(delim, start); 23 | } 24 | 25 | rv.push_back(s.substr(start, end)); 26 | 27 | return rv; 28 | } 29 | -------------------------------------------------------------------------------- /libswirl/version.h.in: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of libswirl 3 | */ 4 | #include "license/bsd" 5 | 6 | 7 | /* 8 | * reicast: version.h 9 | */ 10 | #pragma once 11 | 12 | #define REICAST_VERSION "@GIT_VERSION@" 13 | #define GIT_HASH "@GIT_HASH@" 14 | #define BUILD_DATE __DATE__ -------------------------------------------------------------------------------- /libswirl/windows/win_common.h: -------------------------------------------------------------------------------- 1 | #ifndef _win_common_h_ 2 | #define _win_common_h_ 3 | 4 | #include "license/bsd" 5 | 6 | #define NOMINMAX 1 7 | 8 | #include 9 | #include 10 | 11 | #include "rend/TexCache.h" 12 | 13 | #include "oslib/oslib.h" 14 | #include "oslib/audiostream.h" 15 | #include "stdclass.h" 16 | #include "cfg/cfg.h" 17 | 18 | #include "win_keyboard.h" 19 | 20 | #include "hw/maple/maple_cfg.h" 21 | 22 | #include 23 | 24 | #include "hw/sh4/dyna/ngen.h" 25 | #include "hw/sh4/dyna/blockmanager.h" 26 | #include "hw/mem/_vmem.h" 27 | 28 | #include "hw/pvr/Renderer_if.h" 29 | 30 | #include "utils/glwrap/gl3w.h" 31 | 32 | 33 | #include "libswirl.h" 34 | #include "hw/pvr/Renderer_if.h" 35 | 36 | #include "utils/glinit/wgl/wgl.h" 37 | 38 | #include "gui/gui.h" 39 | #include "gui/gui_renderer.h" 40 | 41 | 42 | // Windows class name to register 43 | #define WINDOW_CLASS "nilDC" 44 | 45 | // Width and height of the window 46 | #define DEFAULT_WINDOW_WIDTH 1280 47 | #define DEFAULT_WINDOW_HEIGHT 720 48 | #undef ARRAY_SIZE // macros are evil 49 | 50 | 51 | #endif 52 | -------------------------------------------------------------------------------- /reicast/README.md: -------------------------------------------------------------------------------- 1 | reicast shell 2 | =========== 3 | 4 | Makefiles, and "ui specific" code mostly resides here 5 | 6 | stuff in this folder are BSD Licensed -------------------------------------------------------------------------------- /reicast/android-studio/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | buildscript { 3 | repositories { 4 | jcenter() 5 | google() 6 | } 7 | dependencies { 8 | classpath 'com.android.tools.build:gradle:3.5.3' 9 | } 10 | } 11 | 12 | allprojects { 13 | repositories { 14 | jcenter() 15 | google() 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /reicast/android-studio/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/android-studio/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /reicast/android-studio/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Mon Aug 05 12:43:52 EEST 2019 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.0.1-all.zip 7 | -------------------------------------------------------------------------------- /reicast/android-studio/ic_launcher-web.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/android-studio/ic_launcher-web.png -------------------------------------------------------------------------------- /reicast/android-studio/icons/cd.pdn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/android-studio/icons/cd.pdn -------------------------------------------------------------------------------- /reicast/android-studio/psd/dark_texture.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/android-studio/psd/dark_texture.psd -------------------------------------------------------------------------------- /reicast/android-studio/psd/disk_mipmap.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/android-studio/psd/disk_mipmap.psd -------------------------------------------------------------------------------- /reicast/android-studio/psd/icon_drawable.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/android-studio/psd/icon_drawable.psd -------------------------------------------------------------------------------- /reicast/android-studio/reicast/libs/image-uniload.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/android-studio/reicast/libs/image-uniload.jar -------------------------------------------------------------------------------- /reicast/android-studio/reicast/libs/ouya-sdk.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/android-studio/reicast/libs/ouya-sdk.jar -------------------------------------------------------------------------------- /reicast/android-studio/reicast/src/debug/res/drawable-ldpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/android-studio/reicast/src/debug/res/drawable-ldpi/ic_launcher.png -------------------------------------------------------------------------------- /reicast/android-studio/reicast/src/debug/res/drawable-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/android-studio/reicast/src/debug/res/drawable-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /reicast/android-studio/reicast/src/debug/res/drawable-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/android-studio/reicast/src/debug/res/drawable-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /reicast/android-studio/reicast/src/debug/res/drawable-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/android-studio/reicast/src/debug/res/drawable-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /reicast/android-studio/reicast/src/main/assets/buttons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/android-studio/reicast/src/main/assets/buttons.png -------------------------------------------------------------------------------- /reicast/android-studio/reicast/src/main/java/com/reicast/emulator/config/Config.java: -------------------------------------------------------------------------------- 1 | package com.reicast.emulator.config; 2 | 3 | public class Config { 4 | 5 | public static final String pref_home = "home_directory"; 6 | public static final String pref_theme = "button_theme"; 7 | 8 | public static final String pref_rendertype = "render_type"; 9 | public static final String pref_renderdepth = "depth_render"; 10 | 11 | public static String git_issues = "https://github.com/reicast/reicast-emulator/issues/"; 12 | } 13 | -------------------------------------------------------------------------------- /reicast/android-studio/reicast/src/main/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_CPPFLAGS := -frtti -fexceptions -std=c++17 2 | APP_STL := c++_static 3 | APP_ABI := armeabi-v7a arm64-v8a #x86 mips` 4 | NDK_TOOLCHAIN_VERSION := clang 5 | APP_SHORT_COMMANDS := true 6 | #NAOMI := 1 -------------------------------------------------------------------------------- /reicast/android-studio/reicast/src/main/res/drawable-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/android-studio/reicast/src/main/res/drawable-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /reicast/android-studio/reicast/src/main/res/drawable-ldpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/android-studio/reicast/src/main/res/drawable-ldpi/ic_launcher.png -------------------------------------------------------------------------------- /reicast/android-studio/reicast/src/main/res/drawable-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/android-studio/reicast/src/main/res/drawable-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /reicast/android-studio/reicast/src/main/res/drawable-xhdpi/ic_banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/android-studio/reicast/src/main/res/drawable-xhdpi/ic_banner.png -------------------------------------------------------------------------------- /reicast/android-studio/reicast/src/main/res/drawable-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/android-studio/reicast/src/main/res/drawable-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /reicast/android-studio/reicast/src/main/res/drawable-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/android-studio/reicast/src/main/res/drawable-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /reicast/android-studio/reicast/src/main/res/drawable/background_dark.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /reicast/android-studio/reicast/src/main/res/mipmap/texture_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/android-studio/reicast/src/main/res/mipmap/texture_dark.png -------------------------------------------------------------------------------- /reicast/android-studio/reicast/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #0b2032 4 | #041121 5 | #FF4081 6 | #e91e63 7 | #e0e0e0 8 | #e0e0e0 9 | 10 | #226696 11 | #164f6e 12 | #ffca28 13 | #ffb74d 14 | #e0e0e0 15 | #072540 16 | 17 | #6e6b66 18 | #534e4b 19 | #5787c7 20 | #42a5f5 21 | #3d3533 22 | #534e4b 23 | 24 | #42a5f5 25 | 26 | -------------------------------------------------------------------------------- /reicast/android-studio/reicast/src/main/res/values/donottranslate.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | reicast 4 | 5 | reicast.com 6 | 7 | dreamcast 8 | 9 | -------------------------------------------------------------------------------- /reicast/android-studio/reicast/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Please send a screenshot of this to the Reicast Team 3 | Okay 4 | -------------------------------------------------------------------------------- /reicast/android-studio/reicast/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 12 | 13 | -------------------------------------------------------------------------------- /reicast/android-studio/reicast/src/main/res/xml/provider_paths.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /reicast/android-studio/reicast/src/naomi/res/values/donottranslate.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | reicast Naomi 4 | naomi 5 | 6 | 7 | bin 8 | dat 9 | lst 10 | zip 11 | 7z 12 | 13 | 14 | -------------------------------------------------------------------------------- /reicast/android-studio/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':reicast' 2 | -------------------------------------------------------------------------------- /reicast/android-studio/travis-build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ev 3 | if [ "${TRAVIS_PULL_REQUEST}" = "false" ]; then 4 | ./gradlew build --configure-on-demand 5 | else 6 | ./gradlew assembleDebug --configure-on-demand 7 | fi 8 | -------------------------------------------------------------------------------- /reicast/android-studio/travis-release.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -ev 3 | echo travis release: pr = "${TRAVIS_PULL_REQUEST}" - branch = "${TRAVIS_BRANCH}" 4 | if [ "${TRAVIS_PULL_REQUEST}" = "false" ]; then 5 | if [ "${TRAVIS_BRANCH}" == "alpha" ]; then 6 | ./gradlew publishApkDreamcastRelease -PreleaseTrack=alpha 7 | fi 8 | if [ "${TRAVIS_BRANCH}" == "beta" ]; then 9 | ./gradlew publishApkDreamcastRelease -PreleaseTrack=beta 10 | fi 11 | if [ "${TRAVIS_BRANCH}" == "stable" ]; then 12 | ./gradlew publishApkDreamcastRelease -PreleaseTrack=production 13 | fi 14 | fi 15 | -------------------------------------------------------------------------------- /reicast/apple/emulator-ios/emulator/AboutViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // AboutViewController.h 3 | // emulator 4 | // 5 | // Created by Karen Tsai on 2014/3/5. 6 | // Copyright (c) 2014 Karen Tsai (angelXwind). All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AboutViewController : UITableViewController { 12 | IBOutlet UILabel *versionLabel; 13 | } 14 | @property (weak, nonatomic) IBOutlet UIBarButtonItem *sidebarButton; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /reicast/apple/emulator-ios/emulator/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // emulator 4 | // 5 | // Created by Lounge Katt on 2/6/14. 6 | // Copyright (c) 2014 Lounge Katt. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /reicast/apple/emulator-ios/emulator/BrowserTableViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // BrowserTableViewController.h 3 | // emulator 4 | // 5 | // Created by Karen Tsai on 2014/3/5. 6 | // Copyright (c) 2014 Karen Tsai (angelXwind). All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface BrowserTableViewController : UITableViewController { 12 | NSArray *games; 13 | } 14 | @property (weak, nonatomic) IBOutlet UIBarButtonItem *sidebarButton; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /reicast/apple/emulator-ios/emulator/CloudVMUViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // CloudVMUViewController.h 3 | // emulator 4 | // 5 | // Created by Karen Tsai on 2014/5/23. 6 | // Copyright (c) 2014 Karen Tsai (angelXwind). All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface CloudVMUViewController : UITableViewController 12 | @property (weak, nonatomic) IBOutlet UIBarButtonItem *sidebarButton; 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /reicast/apple/emulator-ios/emulator/DiskViewCell.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | @interface DiskViewCell : UITableViewCell 4 | 5 | @property (nonatomic, retain) IBOutlet UIImageView *diskImage; 6 | @property (nonatomic, retain) IBOutlet UILabel *nameLabel; 7 | 8 | @end 9 | -------------------------------------------------------------------------------- /reicast/apple/emulator-ios/emulator/DiskViewCell.m: -------------------------------------------------------------------------------- 1 | #import "DiskViewCell.h" 2 | 3 | @implementation DiskViewCell 4 | 5 | - (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier 6 | { 7 | self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]; 8 | if (self) { 9 | // Initialization code 10 | } 11 | return self; 12 | } 13 | 14 | - (void)awakeFromNib 15 | { 16 | // Initialization code 17 | } 18 | 19 | - (void)setSelected:(BOOL)selected animated:(BOOL)animated 20 | { 21 | [super setSelected:selected animated:animated]; 22 | 23 | // Configure the view for the selected state 24 | } 25 | 26 | @end 27 | -------------------------------------------------------------------------------- /reicast/apple/emulator-ios/emulator/EmulatorView.h: -------------------------------------------------------------------------------- 1 | // 2 | // EmulatorView.h 3 | // emulator 4 | // 5 | // Created by admin on 1/18/15. 6 | // Copyright (c) 2015 reicast. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface EmulatorView : GLKView 12 | 13 | - (void)handleKeyDown:(UIButton*)button; 14 | - (void)handleKeyUp:(UIButton*)button; 15 | 16 | @property (nonatomic, strong) UIViewController *controllerView; 17 | 18 | @end 19 | 20 | #define DC_BTN_C (1) 21 | #define DC_BTN_B (1<<1) 22 | #define DC_BTN_A (1<<2) 23 | #define DC_BTN_START (1<<3) 24 | #define DC_DPAD_UP (1<<4) 25 | #define DC_DPAD_DOWN (1<<5) 26 | #define DC_DPAD_LEFT (1<<6) 27 | #define DC_DPAD_RIGHT (1<<7) 28 | #define DC_BTN_Z (1<<8) 29 | #define DC_BTN_Y (1<<9) 30 | #define DC_BTN_X (1<<10) 31 | #define DC_BTN_D (1<<11) 32 | #define DC_DPAD2_UP (1<<12) 33 | #define DC_DPAD2_DOWN (1<<13) 34 | #define DC_DPAD2_LEFT (1<<14) 35 | #define DC_DPAD2_RIGHT (1<<15) 36 | 37 | #define DC_AXIS_LT (0X10000) 38 | #define DC_AXIS_RT (0X10001) 39 | #define DC_AXIS_X (0X20000) 40 | #define DC_AXIS_Y (0X20001) 41 | 42 | -------------------------------------------------------------------------------- /reicast/apple/emulator-ios/emulator/EmulatorViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // EmulatorViewController.h 3 | // emulator 4 | // 5 | // Created by Karen Tsai (angelXwind) on 2014/3/5. 6 | // Copyright (c) 2014 Karen Tsai (angelXwind). All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | #import 12 | #import "iCadeReaderView.h" 13 | #import "PadViewController.h" 14 | #import "EmulatorView.h" 15 | 16 | @interface EmulatorViewController : GLKViewController 17 | 18 | @property NSString* diskImage; 19 | @property (nonatomic) iCadeReaderView* iCadeReader; 20 | @property (nonatomic) GCController *gController __attribute__((weak_import)); 21 | @property (nonatomic, strong) id connectObserver; 22 | @property (nonatomic, strong) id disconnectObserver; 23 | @property (nonatomic, strong) EmulatorView *emuView; 24 | 25 | @property (nonatomic, strong) PadViewController *controllerView; 26 | 27 | @end 28 | -------------------------------------------------------------------------------- /reicast/apple/emulator-ios/emulator/Images.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "40x40", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "60x60", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "ipad", 20 | "size" : "29x29", 21 | "scale" : "1x" 22 | }, 23 | { 24 | "idiom" : "ipad", 25 | "size" : "29x29", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "ipad", 30 | "size" : "40x40", 31 | "scale" : "1x" 32 | }, 33 | { 34 | "idiom" : "ipad", 35 | "size" : "40x40", 36 | "scale" : "2x" 37 | }, 38 | { 39 | "idiom" : "ipad", 40 | "size" : "76x76", 41 | "scale" : "1x" 42 | }, 43 | { 44 | "idiom" : "ipad", 45 | "size" : "76x76", 46 | "scale" : "2x" 47 | } 48 | ], 49 | "info" : { 50 | "version" : 1, 51 | "author" : "xcode" 52 | } 53 | } -------------------------------------------------------------------------------- /reicast/apple/emulator-ios/emulator/Images/210-octocat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/apple/emulator-ios/emulator/Images/210-octocat.png -------------------------------------------------------------------------------- /reicast/apple/emulator-ios/emulator/Images/210-octocat@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/apple/emulator-ios/emulator/Images/210-octocat@2x.png -------------------------------------------------------------------------------- /reicast/apple/emulator-ios/emulator/Images/210-twitterbird.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/apple/emulator-ios/emulator/Images/210-twitterbird.png -------------------------------------------------------------------------------- /reicast/apple/emulator-ios/emulator/Images/210-twitterbird@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/apple/emulator-ios/emulator/Images/210-twitterbird@2x.png -------------------------------------------------------------------------------- /reicast/apple/emulator-ios/emulator/Images/ABXYPad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/apple/emulator-ios/emulator/Images/ABXYPad.png -------------------------------------------------------------------------------- /reicast/apple/emulator-ios/emulator/Images/ABXYPad@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/apple/emulator-ios/emulator/Images/ABXYPad@2x.png -------------------------------------------------------------------------------- /reicast/apple/emulator-ios/emulator/Images/DPad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/apple/emulator-ios/emulator/Images/DPad.png -------------------------------------------------------------------------------- /reicast/apple/emulator-ios/emulator/Images/DPad@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/apple/emulator-ios/emulator/Images/DPad@2x.png -------------------------------------------------------------------------------- /reicast/apple/emulator-ios/emulator/Images/JoystickBackground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/apple/emulator-ios/emulator/Images/JoystickBackground.png -------------------------------------------------------------------------------- /reicast/apple/emulator-ios/emulator/Images/JoystickBackground@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/apple/emulator-ios/emulator/Images/JoystickBackground@2x.png -------------------------------------------------------------------------------- /reicast/apple/emulator-ios/emulator/Images/JoystickButton.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/apple/emulator-ios/emulator/Images/JoystickButton.png -------------------------------------------------------------------------------- /reicast/apple/emulator-ios/emulator/Images/JoystickButton@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/apple/emulator-ios/emulator/Images/JoystickButton@2x.png -------------------------------------------------------------------------------- /reicast/apple/emulator-ios/emulator/Images/LTrigger.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/apple/emulator-ios/emulator/Images/LTrigger.png -------------------------------------------------------------------------------- /reicast/apple/emulator-ios/emulator/Images/LTrigger@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/apple/emulator-ios/emulator/Images/LTrigger@2x.png -------------------------------------------------------------------------------- /reicast/apple/emulator-ios/emulator/Images/RTrigger.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/apple/emulator-ios/emulator/Images/RTrigger.png -------------------------------------------------------------------------------- /reicast/apple/emulator-ios/emulator/Images/RTrigger@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/apple/emulator-ios/emulator/Images/RTrigger@2x.png -------------------------------------------------------------------------------- /reicast/apple/emulator-ios/emulator/Images/Start.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/apple/emulator-ios/emulator/Images/Start.png -------------------------------------------------------------------------------- /reicast/apple/emulator-ios/emulator/Images/Start@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/apple/emulator-ios/emulator/Images/Start@2x.png -------------------------------------------------------------------------------- /reicast/apple/emulator-ios/emulator/Images/disk_unknown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/apple/emulator-ios/emulator/Images/disk_unknown.png -------------------------------------------------------------------------------- /reicast/apple/emulator-ios/emulator/Images/menuback.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/apple/emulator-ios/emulator/Images/menuback.png -------------------------------------------------------------------------------- /reicast/apple/emulator-ios/emulator/Images/menuback@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/apple/emulator-ios/emulator/Images/menuback@2x.png -------------------------------------------------------------------------------- /reicast/apple/emulator-ios/emulator/Images/menuicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/apple/emulator-ios/emulator/Images/menuicon.png -------------------------------------------------------------------------------- /reicast/apple/emulator-ios/emulator/Images/menuicon@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/apple/emulator-ios/emulator/Images/menuicon@2x.png -------------------------------------------------------------------------------- /reicast/apple/emulator-ios/emulator/InputViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // InputViewController.h 3 | // emulator 4 | // 5 | // Created by Karen Tsai on 2014/3/5. 6 | // Copyright (c) 2014 Karen Tsai (angelXwind). All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface InputViewController : UITableViewController 12 | @property (weak, nonatomic) IBOutlet UIBarButtonItem *sidebarButton; 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /reicast/apple/emulator-ios/emulator/PadViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // PadViewController.h 3 | // reicast-ios 4 | // 5 | // Created by Lounge Katt on 8/25/15. 6 | // Copyright (c) 2015 reicast. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "EmulatorView.h" 11 | 12 | @interface PadViewController : UIViewController 13 | 14 | @property (nonatomic, strong) IBOutlet UIButton* img_dpad_l; 15 | @property (nonatomic, strong) IBOutlet UIButton* img_dpad_r; 16 | @property (nonatomic, strong) IBOutlet UIButton* img_dpad_u; 17 | @property (nonatomic, strong) IBOutlet UIButton* img_dpad_d; 18 | @property (nonatomic, strong) IBOutlet UIButton* img_abxy_a; 19 | @property (nonatomic, strong) IBOutlet UIButton* img_abxy_b; 20 | @property (nonatomic, strong) IBOutlet UIButton* img_abxy_x; 21 | @property (nonatomic, strong) IBOutlet UIButton* img_abxy_y; 22 | @property (nonatomic, strong) IBOutlet UIButton* img_vjoy; 23 | @property (nonatomic, strong) IBOutlet UIButton* img_lt; 24 | @property (nonatomic, strong) IBOutlet UIButton* img_rt; 25 | @property (nonatomic, strong) IBOutlet UIButton* img_start; 26 | 27 | @property (nonatomic, strong) EmulatorView *handler; 28 | 29 | - (void) showController:(UIView *)parentView; 30 | - (void) hideController; 31 | - (BOOL) isControllerVisible; 32 | - (void) setControlOutput:(EmulatorView *)output; 33 | 34 | @end 35 | -------------------------------------------------------------------------------- /reicast/apple/emulator-ios/emulator/PathsViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // PathsViewController.h 3 | // emulator 4 | // 5 | // Created by Karen Tsai on 2014/3/5. 6 | // Copyright (c) 2014 Karen Tsai (angelXwind). All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface PathsViewController : UITableViewController 12 | @property (weak, nonatomic) IBOutlet UIBarButtonItem *sidebarButton; 13 | 14 | @property (nonatomic, strong) NSMutableArray* diskImages; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /reicast/apple/emulator-ios/emulator/SettingsViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // SettingsViewController.h 3 | // emulator 4 | // 5 | // Created by Karen Tsai on 2014/3/5. 6 | // Copyright (c) 2014 Karen Tsai (angelXwind). All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface SettingsViewController : UITableViewController 12 | @property (weak, nonatomic) IBOutlet UIBarButtonItem *sidebarButton; 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /reicast/apple/emulator-ios/emulator/Shaders/Shader.fsh: -------------------------------------------------------------------------------- 1 | // 2 | // Shader.fsh 3 | // emulator 4 | // 5 | // Created by Lounge Katt on 2/6/14. 6 | // Copyright (c) 2014 Lounge Katt. All rights reserved. 7 | // 8 | 9 | varying lowp vec4 colorVarying; 10 | 11 | void main() 12 | { 13 | gl_FragColor = colorVarying; 14 | } 15 | -------------------------------------------------------------------------------- /reicast/apple/emulator-ios/emulator/Shaders/Shader.vsh: -------------------------------------------------------------------------------- 1 | // 2 | // Shader.vsh 3 | // emulator 4 | // 5 | // Created by Lounge Katt on 2/6/14. 6 | // Copyright (c) 2014 Lounge Katt. All rights reserved. 7 | // 8 | 9 | attribute vec4 position; 10 | attribute vec3 normal; 11 | 12 | varying lowp vec4 colorVarying; 13 | 14 | uniform mat4 modelViewProjectionMatrix; 15 | uniform mat3 normalMatrix; 16 | 17 | void main() 18 | { 19 | vec3 eyeNormal = normalize(normalMatrix * normal); 20 | vec3 lightPosition = vec3(0.0, 0.0, 1.0); 21 | vec4 diffuseColor = vec4(0.4, 0.4, 1.0, 1.0); 22 | 23 | float nDotVP = max(0.0, dot(eyeNormal, normalize(lightPosition))); 24 | 25 | colorVarying = diffuseColor * nDotVP; 26 | 27 | gl_Position = modelViewProjectionMatrix * position; 28 | } 29 | -------------------------------------------------------------------------------- /reicast/apple/emulator-ios/emulator/SideDrawerViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // SideDrawerViewController.h 3 | // emulator 4 | // 5 | // Created by Karen Tsai on 2014/3/5. 6 | // Copyright (c) 2014 Karen Tsai (angelXwind). All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface SideDrawerViewController : UITableViewController 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /reicast/apple/emulator-ios/emulator/iCade-iOS/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (C) 2011, 2012 by Stuart Carnie 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 4 | 5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /reicast/apple/emulator-ios/emulator/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // emulator 4 | // 5 | // Created by Lounge Katt on 2/6/14. 6 | // Copyright (c) 2014 Lounge Katt. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | #import "AppDelegate.h" 12 | 13 | int main(int argc, char * argv[]) 14 | { 15 | @autoreleasepool { 16 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /reicast/apple/emulator-ios/emulator/reicast-ios-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // reicast-ios-Prefix.pch 3 | // reicast-ios 4 | // 5 | // Copyright (c) 2015 reicast. All rights reserved. 6 | // 7 | 8 | #ifndef reicast_ios_reicast_ios_Prefix_pch 9 | #define reicast_ios_reicast_ios_Prefix_pch 10 | 11 | #import 12 | 13 | #ifndef __IPHONE_5_0 14 | #warning "This project uses features only available in iOS SDK 5.0 and later." 15 | #endif 16 | 17 | #ifdef __OBJC__ 18 | #import 19 | #import 20 | #endif 21 | 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /reicast/apple/emulator-ios/emulator/reicast.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /reicast/apple/emulator-ios/reicast-ios-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header 3 | // 4 | // The contents of this file are implicitly included at the beginning of every source file. 5 | // 6 | 7 | #import 8 | 9 | #ifndef __IPHONE_5_0 10 | #warning "This project uses features only available in iOS SDK 5.0 and later." 11 | #endif 12 | 13 | #ifdef __OBJC__ 14 | #import 15 | #import 16 | #endif 17 | 18 | #include "TargetConditionals.h" 19 | -------------------------------------------------------------------------------- /reicast/apple/emulator-ios/reicast-ios.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /reicast/apple/emulator-ios/reicast-ios/Images.xcassets/AppIcon.appiconset/Icon-60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/apple/emulator-ios/reicast-ios/Images.xcassets/AppIcon.appiconset/Icon-60@2x.png -------------------------------------------------------------------------------- /reicast/apple/emulator-ios/reicast-ios/Images.xcassets/AppIcon.appiconset/Icon-76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/apple/emulator-ios/reicast-ios/Images.xcassets/AppIcon.appiconset/Icon-76@2x.png -------------------------------------------------------------------------------- /reicast/apple/emulator-ios/reicast-ios/Images.xcassets/LaunchImage.launchimage/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "orientation" : "portrait", 5 | "idiom" : "ipad", 6 | "minimum-system-version" : "7.0", 7 | "extent" : "full-screen", 8 | "scale" : "2x" 9 | }, 10 | { 11 | "orientation" : "landscape", 12 | "idiom" : "ipad", 13 | "minimum-system-version" : "7.0", 14 | "extent" : "full-screen", 15 | "scale" : "1x" 16 | }, 17 | { 18 | "orientation" : "landscape", 19 | "idiom" : "ipad", 20 | "minimum-system-version" : "7.0", 21 | "extent" : "full-screen", 22 | "scale" : "2x" 23 | }, 24 | { 25 | "orientation" : "portrait", 26 | "idiom" : "iphone", 27 | "minimum-system-version" : "7.0", 28 | "scale" : "2x" 29 | }, 30 | { 31 | "orientation" : "portrait", 32 | "idiom" : "iphone", 33 | "minimum-system-version" : "7.0", 34 | "subtype" : "retina4", 35 | "scale" : "2x" 36 | }, 37 | { 38 | "orientation" : "portrait", 39 | "idiom" : "ipad", 40 | "minimum-system-version" : "7.0", 41 | "extent" : "full-screen", 42 | "scale" : "1x" 43 | } 44 | ], 45 | "info" : { 46 | "version" : 1, 47 | "author" : "xcode" 48 | } 49 | } -------------------------------------------------------------------------------- /reicast/apple/emulator-osx/deps/libomp/VERSION-9.0.1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/apple/emulator-osx/deps/libomp/VERSION-9.0.1 -------------------------------------------------------------------------------- /reicast/apple/emulator-osx/deps/libomp/lib/libomp.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/apple/emulator-osx/deps/libomp/lib/libomp.a -------------------------------------------------------------------------------- /reicast/apple/emulator-osx/emulator-osx/AppDelegate.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of reicast-osx 3 | */ 4 | #include "license/bsd" 5 | 6 | #import 7 | #import "EmuGLView.h" 8 | #import "ConsoleViewController.h" 9 | 10 | @interface AppDelegate : NSObject 11 | 12 | // Main UI display window 13 | @property (strong) NSWindow *mainWindow; 14 | @property (strong) EmuGLView *glView; 15 | 16 | // Console window 17 | @property (strong) NSWindow *consoleWindow; 18 | @property (strong) ConsoleViewController *consoleViewController; 19 | 20 | + (AppDelegate *)sharedInstance; 21 | 22 | - (instancetype)initWithArgc:(int)argc andArgv:(char**)argv; 23 | 24 | - (void)showConsoleWindow:(NSMenuItem *)menuItem; 25 | - (void)hideConsoleWindow:(NSMenuItem *)menuItem; 26 | 27 | @end 28 | -------------------------------------------------------------------------------- /reicast/apple/emulator-osx/emulator-osx/AppIcon.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/apple/emulator-osx/emulator-osx/AppIcon.icns -------------------------------------------------------------------------------- /reicast/apple/emulator-osx/emulator-osx/ConsoleViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ConsoleViewController.h 3 | // reicast-osx 4 | // 5 | // Created by Benjamin Baron on 3/31/20. 6 | // Copyright © 2020 reicast. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ConsoleViewController : NSViewController 12 | 13 | + (NSDictionary *)defaultTextAttributes; 14 | 15 | - (instancetype)initWithTextStorage:(NSTextStorage *)textStorage; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /reicast/apple/emulator-osx/emulator-osx/EmuGLView.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of reicast-osx 3 | */ 4 | #include "license/bsd" 5 | 6 | #import 7 | 8 | @protocol EmuGLViewDelegate; 9 | 10 | @interface EmuGLView: NSOpenGLView 11 | @property (weak) NSObject *delegate; 12 | @end 13 | 14 | @protocol EmuGLViewDelegate 15 | - (void)emuGLViewIsResizing:(EmuGLView *)emuGLView; 16 | @end 17 | -------------------------------------------------------------------------------- /reicast/apple/emulator-osx/emulator-osx/Images.xcassets/AppIcon.appiconset/Icon-128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/apple/emulator-osx/emulator-osx/Images.xcassets/AppIcon.appiconset/Icon-128.png -------------------------------------------------------------------------------- /reicast/apple/emulator-osx/emulator-osx/Images.xcassets/AppIcon.appiconset/Icon-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/apple/emulator-osx/emulator-osx/Images.xcassets/AppIcon.appiconset/Icon-16.png -------------------------------------------------------------------------------- /reicast/apple/emulator-osx/emulator-osx/Images.xcassets/AppIcon.appiconset/Icon-32@1x copy-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/apple/emulator-osx/emulator-osx/Images.xcassets/AppIcon.appiconset/Icon-32@1x copy-1.png -------------------------------------------------------------------------------- /reicast/apple/emulator-osx/emulator-osx/Images.xcassets/AppIcon.appiconset/Icon-32@1x copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/apple/emulator-osx/emulator-osx/Images.xcassets/AppIcon.appiconset/Icon-32@1x copy.png -------------------------------------------------------------------------------- /reicast/apple/emulator-osx/emulator-osx/Images.xcassets/AppIcon.appiconset/Icon-64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/apple/emulator-osx/emulator-osx/Images.xcassets/AppIcon.appiconset/Icon-64.png -------------------------------------------------------------------------------- /reicast/apple/emulator-osx/emulator-osx/Images.xcassets/AppIcon.appiconset/Icon-76@2x-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/apple/emulator-osx/emulator-osx/Images.xcassets/AppIcon.appiconset/Icon-76@2x-1.png -------------------------------------------------------------------------------- /reicast/apple/emulator-osx/emulator-osx/Images.xcassets/AppIcon.appiconset/Icon-76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/apple/emulator-osx/emulator-osx/Images.xcassets/AppIcon.appiconset/Icon-76@2x.png -------------------------------------------------------------------------------- /reicast/apple/emulator-osx/emulator-osx/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleDisplayName 8 | Reicast 9 | CFBundleExecutable 10 | $(EXECUTABLE_NAME) 11 | CFBundleIconFile 12 | 13 | CFBundleIdentifier 14 | $(PRODUCT_BUNDLE_IDENTIFIER) 15 | CFBundleInfoDictionaryVersion 16 | 6.0 17 | CFBundleName 18 | $(PRODUCT_NAME) 19 | CFBundlePackageType 20 | APPL 21 | CFBundleShortVersionString 22 | 1.0 23 | CFBundleSignature 24 | ???? 25 | CFBundleVersion 26 | 1 27 | LSMinimumSystemVersion 28 | $(MACOSX_DEPLOYMENT_TARGET) 29 | NSHumanReadableCopyright 30 | Copyright © 2015 reicast. All rights reserved. 31 | NSPrincipalClass 32 | NSApplication 33 | 34 | 35 | -------------------------------------------------------------------------------- /reicast/apple/emulator-osx/emulator-osx/MainMenu.h: -------------------------------------------------------------------------------- 1 | // 2 | // MainMenu.h 3 | // reicast-osx 4 | // 5 | // Created by Benjamin Baron on 3/31/20. 6 | // Copyright © 2020 reicast. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface MainMenu : NSObject 12 | 13 | + (void)create; 14 | + (NSMenuItem *)toggleConsoleMenuItem; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /reicast/apple/emulator-osx/emulator-osx/input.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of reicast-osx 3 | */ 4 | #include "license/bsd" 5 | 6 | #pragma once 7 | 8 | #ifdef __cplusplus 9 | extern "C" { 10 | #endif 11 | @class GCExtendedGamepad; 12 | 13 | void emu_key_input(UInt16 keyCode, bool pressed, UInt32 modifierFlags); 14 | void emu_character_input(const char *characters); 15 | void emu_mouse_buttons(int button, bool pressed); 16 | void connect_controller(GCExtendedGamepad *controller); 17 | void disconnect_controller(GCExtendedGamepad *controller); 18 | 19 | extern unsigned int mo_buttons; 20 | extern int mo_x_abs; 21 | extern int mo_y_abs; 22 | extern float mo_x_delta; 23 | extern float mo_y_delta; 24 | extern float mo_wheel_delta; 25 | 26 | #ifdef __cplusplus 27 | } 28 | #endif 29 | -------------------------------------------------------------------------------- /reicast/apple/emulator-osx/emulator-osx/main.m: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of reicast-osx 3 | */ 4 | #include "license/bsd" 5 | 6 | #import 7 | #import "AppDelegate.h" 8 | #import "MainMenu.h" 9 | 10 | int main(int argc, char *argv[]) { 11 | @autoreleasepool { 12 | // Create Application and AppDelegate 13 | NSApplication *app = [NSApplication sharedApplication]; 14 | [app setActivationPolicy:NSApplicationActivationPolicyRegular]; 15 | [app setDelegate:(id)[[AppDelegate alloc] initWithArgc:argc andArgv:argv]]; 16 | 17 | // Create the Main Menu 18 | [MainMenu create]; 19 | 20 | // Start the Application 21 | [app activateIgnoringOtherApps:YES]; 22 | [app run]; 23 | 24 | // Return success when we exit 25 | return EXIT_SUCCESS; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /reicast/apple/emulator-osx/emulator-osxTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /reicast/apple/emulator-osx/emulator-osxTests/emulator_osxTests.h: -------------------------------------------------------------------------------- 1 | // 2 | // emulator_osxTests.h 3 | // reicast-osx 4 | // 5 | // Created by Benjamin Baron on 2/27/20. 6 | // Copyright © 2020 reicast. All rights reserved. 7 | // 8 | 9 | @import Cocoa; 10 | @import XCTest; 11 | 12 | @interface emulator_osxTests : XCTestCase 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /reicast/apple/emulator-osx/emulator-osxTests/emulator_osxTests.m: -------------------------------------------------------------------------------- 1 | // 2 | // emulator_osxTests.m 3 | // reicast-osx 4 | // 5 | // Created by Benjamin Baron on 2/27/20. 6 | // Copyright © 2020 reicast. All rights reserved. 7 | // 8 | 9 | #import "emulator_osxTests.h" 10 | 11 | @implementation emulator_osxTests 12 | 13 | - (void)setUp { 14 | [super setUp]; 15 | // Put setup code here. This method is called before the invocation of each test method in the class. 16 | } 17 | 18 | - (void)tearDown { 19 | // Put teardown code here. This method is called after the invocation of each test method in the class. 20 | [super tearDown]; 21 | } 22 | 23 | - (void)testExample { 24 | // This is an example of a functional test case. 25 | XCTAssert(true, "Pass"); 26 | } 27 | 28 | - (void)testPerformanceExample { 29 | // This is an example of a performance test case. 30 | [self startMeasuring]; 31 | // Put the code you want to measure the time of here. 32 | [self stopMeasuring]; 33 | } 34 | 35 | @end 36 | -------------------------------------------------------------------------------- /reicast/apple/emulator-osx/reicast-osx.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /reicast/apple/emulator-osx/reicast-osx.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /reicast/apple/reicast.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /reicast/apple/reicast.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /reicast/cmake/devkitA64.cmake: -------------------------------------------------------------------------------- 1 | ## devkitA64.cmake - devkitpro A64 cross-compile 2 | # 3 | set(CMAKE_SYSTEM_NAME Linux) # this one is important // Add Platform/switch to use this name ... 4 | set(CMAKE_SYSTEM_PROCESSOR aarch64) 5 | 6 | set(CMAKE_SYSTEM_VERSION 1) # this one not so much 7 | 8 | 9 | set(DEVKITPRO $ENV{DEVKITPRO}) 10 | set(DEVKITA64 $ENV{DEVKITA64}) 11 | 12 | 13 | if ("" STREQUAL "${DEVKITPRO}") 14 | set(DEVKITA64 "/opt/devkitpro") 15 | endif() 16 | 17 | if ("" STREQUAL "${DEVKITA64}") 18 | set(DEVKITA64 ${DEVKITPRO}/devkitA64) 19 | endif() 20 | 21 | 22 | ## specify the cross compiler 23 | # 24 | set(CMAKE_C_COMPILER ${DEVKITA64}/bin/aarch64-none-elf-gcc) 25 | set(CMAKE_CXX_COMPILER ${DEVKITA64}/bin/aarch64-none-elf-g++) 26 | 27 | 28 | set(CMAKE_FIND_ROOT_PATH ${DEVKITA64}) # where is the target environment 29 | 30 | set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) # search for programs in the build host directories 31 | set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) # for libraries and headers in the target directories 32 | set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) 33 | 34 | 35 | 36 | 37 | include_directories(${DEVKITPRO}/libnx/include) 38 | 39 | 40 | 41 | set(TARGET_NSW ON) 42 | -------------------------------------------------------------------------------- /reicast/cmake/toolchains/Linux-x86.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_SYSTEM_NAME Linux) 2 | set(CMAKE_SYSTEM_PROCESSOR i686) 3 | set(CMAKE_C_COMPILER gcc -m32) 4 | set(CMAKE_ASM_COMPILER gcc -m32) 5 | set(CMAKE_CXX_COMPILER g++ -m32) 6 | -------------------------------------------------------------------------------- /reicast/emscripten/emu.cfg: -------------------------------------------------------------------------------- 1 | [config] 2 | Dreamcast.ContentPath = /roms 3 | pvr.SynchronousRendering = no 4 | -------------------------------------------------------------------------------- /reicast/imgs/3675.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/imgs/3675.png -------------------------------------------------------------------------------- /reicast/imgs/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/imgs/icon.png -------------------------------------------------------------------------------- /reicast/linux/gcwz/default.gcw0.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=reicast 3 | Comment=A Sega Dreamcast emulator 4 | Exec=nosym-reicast.elf 5 | Terminal=false 6 | Type=Application 7 | StartupNotify=true 8 | Icon=icon-32 9 | Categories=emulators; 10 | -------------------------------------------------------------------------------- /reicast/linux/gcwz/icon-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/linux/gcwz/icon-32.png -------------------------------------------------------------------------------- /reicast/linux/mappings/controller_gcwz.cfg: -------------------------------------------------------------------------------- 1 | [emulator] 2 | mapping_name = GCW Zero 3 | btn_escape = 0x01 4 | 5 | [dreamcast] 6 | btn_a = 0x1D 7 | btn_b = 0x38 8 | btn_c = 0x0F 9 | btn_d = 0x0E 10 | btn_x = 0x2A 11 | btn_y = 0x39 12 | btn_start = 0x1C 13 | btn_dpad1_left = 0x69 14 | btn_dpad1_right = 0x6A 15 | btn_dpad1_up = 0x67 16 | btn_dpad1_down = 0x6C 17 | -------------------------------------------------------------------------------- /reicast/linux/mappings/controller_generic.cfg: -------------------------------------------------------------------------------- 1 | [emulator] 2 | mapping_name = Generic Controller 3 | btn_escape = 0x13a 4 | btn_savestate = 0x3c 5 | btn_loadstate = 0x3e 6 | 7 | [dreamcast] 8 | btn_a = 0x130 9 | btn_b = 0x131 10 | btn_c = 0x132 11 | btn_d = 0x13d 12 | btn_x = 0x133 13 | btn_y = 0x134 14 | btn_z = 0x135 15 | btn_start = 0x13b 16 | btn_dpad1_left = 0x220 17 | btn_dpad1_right = 0x221 18 | btn_dpad1_up = 0x222 19 | btn_dpad1_down = 0x223 20 | axis_x = 0x00 21 | axis_y = 0x01 22 | axis_trigger_left = 0x02 23 | axis_trigger_right = 0x05 24 | 25 | [compat] 26 | btn_trigger_left = 0x136 27 | btn_trigger_right = 0x137 28 | axis_dpad1_x = 0x10 29 | axis_dpad1_y = 0x11 30 | axis_dpad2_x = 0x12 31 | axis_dpad2_y = 0x13 -------------------------------------------------------------------------------- /reicast/linux/mappings/controller_pandora.cfg: -------------------------------------------------------------------------------- 1 | [emulator] 2 | mapping_name = Pandora 3 | btn_escape = 139 4 | 5 | [dreamcast] 6 | btn_a = 109 7 | btn_b = 107 8 | btn_c = 57 9 | btn_x = 102 10 | btn_y = 104 11 | btn_start = 56 12 | btn_dpad1_left = 105 13 | btn_dpad1_right = 106 14 | btn_dpad1_up = 103 15 | btn_dpad1_down = 108 16 | 17 | [compat] 18 | btn_trigger_left = 54 19 | btn_trigger_right = 97 20 | -------------------------------------------------------------------------------- /reicast/linux/mappings/controller_xboxdrv.cfg: -------------------------------------------------------------------------------- 1 | [emulator] 2 | mapping_name = Xbox 360 Controller (xboxdrv userspace driver) 3 | btn_escape = 0x13a 4 | 5 | [dreamcast] 6 | btn_a = 0x130 7 | btn_b = 0x131 8 | btn_c = 0x136 9 | btn_d = 0x137 10 | btn_x = 0x133 11 | btn_y = 0x134 12 | btn_z = 0x13d 13 | btn_start = 0x13b 14 | axis_x = 0x00 15 | axis_y = 0x01 16 | axis_trigger_left = 0x0a 17 | axis_trigger_right = 0x09 18 | 19 | [compat] 20 | axis_dpad1_x = 0x10 21 | axis_dpad1_y = 0x11 22 | -------------------------------------------------------------------------------- /reicast/linux/mappings/controller_xpad.cfg: -------------------------------------------------------------------------------- 1 | [emulator] 2 | mapping_name = Xbox 360 Controller (xpad driver) 3 | btn_escape = 0x13a 4 | 5 | [dreamcast] 6 | btn_a = 0x130 7 | btn_b = 0x131 8 | btn_c = 0x136 9 | btn_d = 0x137 10 | btn_x = 0x133 11 | btn_y = 0x134 12 | btn_z = 0x13d 13 | btn_start = 0x13b 14 | btn_dpad1_left = 0x2c0 15 | btn_dpad1_right = 0x2c1 16 | btn_dpad1_up = 0x2c2 17 | btn_dpad1_down = 0x2c3 18 | axis_x = 0x00 19 | axis_y = 0x01 20 | axis_trigger_left = 0x02 21 | axis_trigger_right = 0x05 22 | 23 | [compat] 24 | axis_dpad1_x = 0x10 25 | axis_dpad1_y = 0x11 26 | -------------------------------------------------------------------------------- /reicast/linux/mappings/keyboard.cfg: -------------------------------------------------------------------------------- 1 | [emulator] 2 | mapping_name = Generic Keyboard 3 | emu_btn_escape = 1 4 | 5 | [dreamcast] 6 | btn_a = 30 7 | btn_b = 48 8 | btn_c = 46 9 | btn_d = 32 10 | btn_x = 45 11 | btn_y = 21 12 | btn_z = 44 13 | btn_start = 28 14 | btn_dpad1_left = 105 15 | btn_dpad1_right = 106 16 | btn_dpad1_up = 103 17 | btn_dpad1_down = 108 18 | 19 | [compat] 20 | btn_trigger_left = 29 21 | btn_trigger_right = 97 22 | -------------------------------------------------------------------------------- /reicast/linux/reicast.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Reicast 3 | GenericName=Dreamcast Emulator 4 | GenericName[de]=Dreamcast-Emulator 5 | GenericName[fr]=Émulateur Dreamcast 6 | GenericName[es]=Emulador de Dreamcast 7 | GenericName[pt]=Emulador de Dreamcast 8 | GenericName[it]=Emulatore Dreamcast 9 | GenericName[gr]=Dreamcast εξομοιωτή 10 | GenericName[ru]=Dreamcast эмулятор 11 | Comment=Play your favourite Dreamcast games on your PC 12 | Comment[de]=Spiele deine Lieblings-Dreamcast-Spiele auf deinem PC 13 | Comment[fr]=Jouez à vos jeux Dreamcast préférés sur votre PC 14 | Comment[es]=Juega tus juegos favoritos de Dreamcast en su PC 15 | Comment[pt]=Jogue seus jogos favoritos Dreamcast no seu PC 16 | Comment[it]=Gioca i tuoi giochi preferiti Dreamcast sul PC 17 | Comment[gr]=Παίξτε τα αγαπημένα σας παιχνίδια Dreamcast στο PC σας 18 | Comment[ru]=Играйте в любимые игры Dreamcast на вашем компьютере 19 | Exec=reicast %f 20 | Icon=reicast 21 | Terminal=false 22 | Type=Application 23 | StartupNotify=false 24 | Categories=Game;Emulator; 25 | -------------------------------------------------------------------------------- /reicast/linux/reicast.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/linux/reicast.png -------------------------------------------------------------------------------- /reicast/windows/reicast.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reicast/windows/reicast.ico -------------------------------------------------------------------------------- /reicast/windows/reicast.rc: -------------------------------------------------------------------------------- 1 | // Microsoft Visual C++ generated resource script. 2 | // 3 | #include "resource.h" 4 | #include "../../libswirl/version.h" 5 | 6 | ///////////////////////////////////////////////////////////////////////////// 7 | // 8 | // Icon 9 | // 10 | 11 | // Icon with lowest ID value placed first to ensure application icon 12 | // remains consistent on all systems. 13 | IDI_ICON1 ICON "reicast.ico" 14 | 15 | ///////////////////////////////////////////////////////////////////////////// 16 | 17 | 1 VERSIONINFO 18 | FILEVERSION 1,0,0,0 19 | PRODUCTVERSION 1,0,0,0 20 | BEGIN 21 | BLOCK "StringFileInfo" 22 | BEGIN 23 | BLOCK "040904E4" 24 | BEGIN 25 | VALUE "CompanyName", "Reicast Team" 26 | VALUE "FileDescription", "Reicast" 27 | VALUE "FileVersion", REICAST_VERSION 28 | VALUE "InternalName", "reicast" 29 | VALUE "LegalCopyright", "Copyright (c) Reicast Team. All rights reserved." 30 | VALUE "OriginalFilename", "reicast.exe" 31 | VALUE "ProductName", "Reicast" 32 | VALUE "ProductVersion", REICAST_VERSION 33 | END 34 | END 35 | BLOCK "VarFileInfo" 36 | BEGIN 37 | VALUE "Translation", 0x409, 1252 38 | END 39 | END 40 | -------------------------------------------------------------------------------- /reicast/windows/resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Visual C++ generated include file. 3 | // Used by reicast.rc 4 | // 5 | #define IDI_ICON1 105 6 | 7 | // Next default values for new objects 8 | // 9 | #ifdef APSTUDIO_INVOKED 10 | #ifndef APSTUDIO_READONLY_SYMBOLS 11 | #define _APS_NEXT_RESOURCE_VALUE 106 12 | #define _APS_NEXT_COMMAND_VALUE 40001 13 | #define _APS_NEXT_CONTROL_VALUE 1000 14 | #define _APS_NEXT_SYMED_VALUE 101 15 | #endif 16 | #endif 17 | -------------------------------------------------------------------------------- /reidbg/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Gtk; 3 | 4 | namespace Reidbg 5 | { 6 | class MainClass 7 | { 8 | public static void Main(string[] args) 9 | { 10 | Application.Init(); 11 | MainWindow win = new MainWindow(); 12 | win.Show(); 13 | Application.Run(); 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /reidbg/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | 4 | // Information about this assembly is defined by the following attributes. 5 | // Change them to the values specific to your project. 6 | 7 | [assembly: AssemblyTitle("MonoUITest")] 8 | [assembly: AssemblyDescription("")] 9 | [assembly: AssemblyConfiguration("")] 10 | [assembly: AssemblyCompany("")] 11 | [assembly: AssemblyProduct("")] 12 | [assembly: AssemblyCopyright("${AuthorCopyright}")] 13 | [assembly: AssemblyTrademark("")] 14 | [assembly: AssemblyCulture("")] 15 | 16 | // The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}". 17 | // The form "{Major}.{Minor}.*" will automatically update the build and revision, 18 | // and "{Major}.{Minor}.{Build}.*" will update just the revision. 19 | 20 | [assembly: AssemblyVersion("1.0.*")] 21 | 22 | // The following attributes are used to specify the signing key for the assembly, 23 | // if desired. See the Mono documentation for more information about signing. 24 | 25 | //[assembly: AssemblyDelaySign(false)] 26 | //[assembly: AssemblyKeyFile("")] 27 | -------------------------------------------------------------------------------- /reidbg/gtk-gui/generated.cs: -------------------------------------------------------------------------------- 1 | 2 | // This file has been generated by the GUI designer. Do not modify. 3 | namespace Stetic 4 | { 5 | internal class Gui 6 | { 7 | private static bool initialized; 8 | 9 | internal static void Initialize(Gtk.Widget iconRenderer) 10 | { 11 | if ((Stetic.Gui.initialized == false)) 12 | { 13 | Stetic.Gui.initialized = true; 14 | } 15 | } 16 | } 17 | 18 | internal class ActionGroups 19 | { 20 | public static Gtk.ActionGroup GetActionGroup(System.Type type) 21 | { 22 | return Stetic.ActionGroups.GetActionGroup(type.FullName); 23 | } 24 | 25 | public static Gtk.ActionGroup GetActionGroup(string name) 26 | { 27 | return null; 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /reidbg/reidbg.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "reidbg", "reidbg.csproj", "{B6299983-CC2C-4E35-84CD-E200D6807032}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|x86 = Debug|x86 9 | Release|x86 = Release|x86 10 | EndGlobalSection 11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 12 | {B6299983-CC2C-4E35-84CD-E200D6807032}.Debug|x86.ActiveCfg = Debug|x86 13 | {B6299983-CC2C-4E35-84CD-E200D6807032}.Debug|x86.Build.0 = Debug|x86 14 | {B6299983-CC2C-4E35-84CD-E200D6807032}.Release|x86.ActiveCfg = Release|x86 15 | {B6299983-CC2C-4E35-84CD-E200D6807032}.Release|x86.Build.0 = Release|x86 16 | EndGlobalSection 17 | EndGlobal 18 | -------------------------------------------------------------------------------- /reprof/3rdParty/GraphSharp.Contracts.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reprof/3rdParty/GraphSharp.Contracts.dll -------------------------------------------------------------------------------- /reprof/3rdParty/GraphSharp.Controls.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reprof/3rdParty/GraphSharp.Controls.dll -------------------------------------------------------------------------------- /reprof/3rdParty/GraphSharp.Sample.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reprof/3rdParty/GraphSharp.Sample.exe -------------------------------------------------------------------------------- /reprof/3rdParty/GraphSharp.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reprof/3rdParty/GraphSharp.dll -------------------------------------------------------------------------------- /reprof/3rdParty/Microsoft.Contracts.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reprof/3rdParty/Microsoft.Contracts.dll -------------------------------------------------------------------------------- /reprof/3rdParty/QuickGraph.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reprof/3rdParty/QuickGraph.dll -------------------------------------------------------------------------------- /reprof/3rdParty/RibbonControlsLibrary.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reprof/3rdParty/RibbonControlsLibrary.dll -------------------------------------------------------------------------------- /reprof/3rdParty/System.Windows.Controls.Theming.ExpressionDark.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reprof/3rdParty/System.Windows.Controls.Theming.ExpressionDark.dll -------------------------------------------------------------------------------- /reprof/3rdParty/System.Windows.Controls.Theming.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reprof/3rdParty/System.Windows.Controls.Theming.dll -------------------------------------------------------------------------------- /reprof/3rdParty/WPFExtensions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reprof/3rdParty/WPFExtensions.dll -------------------------------------------------------------------------------- /reprof/3rdParty/WPFToolkit.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/reprof/3rdParty/WPFToolkit.dll -------------------------------------------------------------------------------- /reprof/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) Stefanos Kornilios Mitsis Poiitidis 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 13 | all 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 21 | THE SOFTWARE. -------------------------------------------------------------------------------- /reprof/README.md: -------------------------------------------------------------------------------- 1 | reprof 2 | =========== 3 | A simple usermode sampling profiler 4 | 5 | This are the visualisation bits -------------------------------------------------------------------------------- /reprof/deasm.sh: -------------------------------------------------------------------------------- 1 | while read line 2 | do 3 | if [[ $line == addr:* ]] ; then addr=${line:6} ; offset=0; fi 4 | if [[ $line == code:* ]] ; then code=${line:6} ; fi 5 | 6 | if [[ $addr == $addr ]] 7 | then 8 | if [[ $line == //h* ]] 9 | then 10 | echo $line | cut -f 4 -d ":" | perl -ne 's/([0-9a-f]{2})/print chr hex $1/gie' > block.bin 11 | bytes=`stat --printf="%s" block.bin` 12 | echo $offset 13 | offset=$(($offset + $bytes)) 14 | arm-none-linux-gnueabi-objdump.exe -D -b binary -marm block.bin | cut -c 16- | tail -n+8 15 | else 16 | echo $line 17 | fi 18 | fi 19 | done -------------------------------------------------------------------------------- /reprof/reprof/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Windows.Forms; 6 | 7 | namespace WinFormsGraphSharp 8 | { 9 | class Program 10 | { 11 | public static MainForm frm; 12 | [STAThread] 13 | static void Main(string[] args) 14 | { 15 | frm = new MainForm(); 16 | Application.Run(frm); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /secure.tar.enc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/secure.tar.enc -------------------------------------------------------------------------------- /tests/files/test_gdis/a/cs.gdi: -------------------------------------------------------------------------------- 1 | 3 2 | 1 0 4 2352 tracks\cs01.bin 0 3 | 2 450 0 2352 tracks\cs02.raw 0 4 | 3 45000 4 2352 tracks\cs03.bin 0 5 | -------------------------------------------------------------------------------- /tests/files/test_gdis/a/tracks/cs01.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/tests/files/test_gdis/a/tracks/cs01.bin -------------------------------------------------------------------------------- /tests/files/test_gdis/a/tracks/cs02.raw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/tests/files/test_gdis/a/tracks/cs02.raw -------------------------------------------------------------------------------- /tests/files/test_gdis/a/tracks/cs03.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/tests/files/test_gdis/a/tracks/cs03.bin -------------------------------------------------------------------------------- /tests/files/test_gdis/b/cs.gdi: -------------------------------------------------------------------------------- 1 | 3 2 | 1 0 4 2352 cs01.bin 0 3 | 2 450 0 2352 cs02.raw 0 4 | 3 45000 4 2352 cs03.bin 0 5 | -------------------------------------------------------------------------------- /tests/files/test_gdis/b/cs01.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/tests/files/test_gdis/b/cs01.bin -------------------------------------------------------------------------------- /tests/files/test_gdis/b/cs02.raw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/tests/files/test_gdis/b/cs02.raw -------------------------------------------------------------------------------- /tests/files/test_gdis/b/cs03.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/tests/files/test_gdis/b/cs03.bin -------------------------------------------------------------------------------- /tests/files/test_gdis/c/cs.gdi: -------------------------------------------------------------------------------- 1 | 3 2 | 1 0 4 2352 tracks/cs01.bin 0 3 | 2 450 0 2352 tracks/cs02.raw 0 4 | 3 45000 4 2352 tracks/cs03.bin 0 5 | -------------------------------------------------------------------------------- /tests/files/test_gdis/c/tracks/cs01.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/tests/files/test_gdis/c/tracks/cs01.bin -------------------------------------------------------------------------------- /tests/files/test_gdis/c/tracks/cs02.raw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/tests/files/test_gdis/c/tracks/cs02.raw -------------------------------------------------------------------------------- /tests/files/test_gdis/c/tracks/cs03.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/tests/files/test_gdis/c/tracks/cs03.bin -------------------------------------------------------------------------------- /tests/files/test_gdis/d/cs (0,1).bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/tests/files/test_gdis/d/cs (0,1).bin -------------------------------------------------------------------------------- /tests/files/test_gdis/d/cs.gdi: -------------------------------------------------------------------------------- 1 | 3 2 | 1 0 4 2352 "cs (0,1).bin" 0 3 | 2 450 0 2352 cs02.raw 0 4 | 3 45000 4 2352 cs03.bin 0 5 | -------------------------------------------------------------------------------- /tests/files/test_gdis/d/cs02.raw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/tests/files/test_gdis/d/cs02.raw -------------------------------------------------------------------------------- /tests/files/test_gdis/d/cs03.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/skmp/reicast-emulator/6cdb605dde43a6e130e702a89550a098ec3ec14f/tests/files/test_gdis/d/cs03.bin -------------------------------------------------------------------------------- /versioning/README.md: -------------------------------------------------------------------------------- 1 | Release scripts and such are here 2 | -------------------------------------------------------------------------------- /versioning/changelog-beta.sh: -------------------------------------------------------------------------------- 1 | git log --merges --pretty=format:"- %b [%h, %an]" --abbrev-commit beta...alpha 2 | -------------------------------------------------------------------------------- /versioning/changelog-stable.sh: -------------------------------------------------------------------------------- 1 | git log --merges --pretty=format:"- %b [%h, %an]" --abbrev-commit stable...alpha 2 | -------------------------------------------------------------------------------- /versioning/push-beta.sh: -------------------------------------------------------------------------------- 1 | echo "Make sure repo is up to date" 2 | git checkout origin/alpha 3 | git checkout beta 4 | git reset --hard origin/alpha 5 | echo "You need to do:" 6 | echo "$ git push # push beta branch" 7 | -------------------------------------------------------------------------------- /versioning/release-beta.sh: -------------------------------------------------------------------------------- 1 | echo "Make sure repo is up to date" 2 | git checkout origin/alpha 3 | git tag -a $1 -m `echo "Reicast $1" && ./changelog-beta.sh` 4 | git checkout beta 5 | git reset --hard origin/alpha 6 | echo "You need to do:" 7 | echo "git push origin $1:$1 # push tag" 8 | echo "git push # push beta branch" 9 | --------------------------------------------------------------------------------