Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/s5bug/emufish
Extensible emulator framework
https://github.com/s5bug/emufish
Last synced: about 2 months ago
JSON representation
Extensible emulator framework
- Host: GitHub
- URL: https://github.com/s5bug/emufish
- Owner: s5bug
- Created: 2021-05-09T05:03:59.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-12-13T14:02:52.000Z (about 1 year ago)
- Last Synced: 2024-03-15T08:22:28.883Z (10 months ago)
- Language: F#
- Size: 160 KB
- Stars: 7
- Watchers: 2
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# development currently paused
I am waiting for an Avalonia-independent way to pass a Vulkan or OpenGL context
around (most likely from Silk.NET) before I work on this project further.[AvaloniaUI/Avalonia#7753](https://github.com/AvaloniaUI/Avalonia/pull/7753)
provides this functionality. I am waiting for that to be merged, or otherwise
usable.# EmuFish
EmuFish aims to be a highly-scriptable emulator framework, like BizHawk, except
multiplatform (not Windows-only) and with better support and less input lag for
newer/less-retro systems (such as the Nintendo 64).## build instructions
EmuFish is a standard dotnet solution. If you have `dotnet` installed already,
then
```
dotnet publish --self-contained false --configuration Release
```
should create a working build.Otherwise, you may be able to grab builds from GitHub actions, however these
are built in `Debug` mode.Modern Macs require all applications and libraries to be `codesign`ed. At the
present moment, this is not built-in to the GitHub Actions workflow, and if you
are a Mac user, you will have to `codesign` EmuFish along with its libraries
yourself.To force an ad-hoc signing on Mac:
```
codesign --sign - --force --deep EmuFish.app
```On a release, GitHub actions artifacts will be attached, built in `Release`
mode, but as of writing no releases exist. Release builds should, at some point,
come with signatures for both Windows and Mac. When that happens, these
instructions will be updated to include how to distinguish an official release
binary.## progress
- [ ] Emulation
- [ ] Basic display-synced emulation
- [ ] Smart frame advance
- [ ] JIT framework
- [ ] Aggressive JIT during fast-forward
- [ ] Scripting API
- [ ] Reading memory
- [ ] Writing memory safely
- [ ] Virtual input
- [ ] Drawing over main canvas
- [ ] External windows
- [ ] Avalonia.FuncUI bindings for NLua?
- [ ] Segment-aware memory viewer/editor
- [ ] Input
- [ ] Keyboard input
- [ ] Generic HID input
- [ ] Remapping
- [ ] Thresholds for buttons controlled by an analog signal
- [ ] Stick/axis calibration
- [ ] Base Targets
- [ ] Early Nintendo Handhelds
- [ ] GameBoy (EmuFish.SharkBoy)
- [ ] GameBoy Advance (EmuFish.LavaGirl)
- [ ] Early Nintendo Consoles
- [ ] Nintendo Entertainment System
- [ ] Super Nintendo Entertainment System
- [ ] BizHawk-replacement stretch goals
- [ ] Nintendo 64
- [ ] Additional Targets
- [ ] Guide on how to develop cores
- [ ] Example external core project