├── .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 |
--------------------------------------------------------------------------------