Giter Site home page Giter Site logo

daedalusx64 / daedalus Goto Github PK

View Code? Open in Web Editor NEW
566.0 36.0 54.0 747.11 MB

The Nintendo 64 Emulator itself

License: GNU General Public License v2.0

C++ 88.83% CMake 0.95% C 6.50% Python 0.25% CSS 0.01% HTML 0.07% JavaScript 0.61% Assembly 2.67% Makefile 0.05% Shell 0.06% Batchfile 0.01%

daedalus's Introduction

DaedalusX64

DaedalusX64 is a Nintendo 64 emulator for PSP, 3DS, Vita, Linux, macOS and Windows

Features:

  • Fast emulation
  • High compatibility
  • Support for PSP / 3DS / macOS / Linux / Windows
  • Active support and updates

Things that don't work right now:

  • Big Endian (So no builds for PowerPC at the moment sorry).

Usage

Installing Daedalus: Download the latest release for your platform from https://github.com/DaedalusX64/daedalus/releases or if you dare, use the latest builds in the GitHub Action section

Extra Steps: PSP: Copy the entire DaedalusX64 Folder to your Memory Stick and put into PSP/Game

macOS / Linux: Prerequisites: libpng / zlib / minizip / glew / SDL2 (You'll need to do this via a package manager. Execute the emulator ./daedalus 'Path to Rom' Note - Native Apple Silicon build via GitHub is not available yet however it compiles fine and works (Just a bit slow as expected)

Building

All Versions require these libraries: zlib, libpng, minizip

Building for PSP

Fetch the latest PSP Toolchain from https://github.com/pspdev/pspdev and install required libraries

Run    ./build_daedalus.sh PSP and CMake will do the required fun stuff :)

Building for Windows

NB: Windows build is broken at the moment

  1. Clone and open the repo in Visual studio 2019

  2. Build All

Building for Posix OS (Linux & macOS)

Posix OSes additionally require glew / SDL2

  1. Clone this repo

  2. ./build_daedalus.sh (This will auto detect the OS you are on)

CI

DaedalusX64 now has CI, you can get the latest nightlies from the Actions Tab. Warning: these builds are sporatic at times.

More Info

For information about compatibility, optimal settings and more about the emulator, visit the actively maintained GitHub wiki page: https://github.com/DaedalusX64/daedalus/wiki Feel free to submit reports for how well your favourite games run if they have not already been listed!

We're on Discord, come catch up with the latest news. Chaos ensured. https://discord.gg/FrVTpBV

Credits

  • StrmnNrmn - For bringing this project to us
  • Kreationz, Howard0Su salvy, Corn, Chilly Willy, Azimer, Shinydude100 and missed folks for past contributions
  • MasterFeizz for 3DS Support / ARM DynaRec
  • Xerpi / Rinnegatamante / TheOfficialFloW for PS Vita and ARM Contributions
  • z2442 & Wally: Compilation improvements and updating, optimizations
  • TheMrIron2 & mrneo240 Optimizations, wiki maintenance
  • re4thewin for continuous testing over the duration of DaedalusX64
  • motolegacy for help with site and emulator itself
  • fjtrujy for help with getting CI going.
  • Our Valued Communities for helping making Daedalus what it is :)

daedalus's People

Contributors

bombonatti avatar cornn64 avatar fjtrujy avatar howard0su avatar hulkholden avatar i-am-wells avatar imnotpete avatar krazynez avatar motolegacy avatar mrneo240 avatar phantomhorror avatar rinnegatamante avatar salvy avatar sonercakir7 avatar themriron2 avatar wally4000 avatar z2442 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

daedalus's Issues

Hi freenode!

Hello this is Wally, just leaving you a message for verification :)

[BUG] 3DS - State manipulation

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:
Try save a state
Expected behavior
A clear and concise description of what you expected to happen.
State should save

Ukrainian translation issues

Some issues regarding the Ukrainian translation:

  1. There isn't a hash in it, because there isn't hash.txt in Default.7z (I marked that line with question marks).
  2. For some reason some of the lines are displayed in English, although I translated them all into Ukrainian.
  3. Some of the lines are displayed buggy, even though all Ukrainian symbols are supported.

(BUG) Can't save

It simply doesn't save (yes i'm using the latest version)
(atleast in Mario 64)

Build fails (Linux, Debian based).

Here's the console's output:

>./build_daedalus.sh LINUX_RELEASE
mkdir: cannot create directory '../DaedalusX64/SaveStates': No such file or directory
mkdir: cannot create directory '../DaedalusX64/SaveGames': No such file or directory
mkdir: cannot create directory '../DaedalusX64/Roms': No such file or directory
-- The C compiler identification is GNU 8.3.0
-- The CXX compiler identification is GNU 8.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
Linux Release Build..
-- Configuring done
CMake Error at CMakeLists.txt:154 (add_executable):
  Cannot find source file:

    SysPosix/main.cpp

  Tried extensions .c .C .c++ .cc .cpp .cxx .cu .m .M .mm .h .hh .h++ .hm
  .hpp .hxx .in .txx


CMake Error at CMakeLists.txt:150 (add_library):
  Cannot find source file:

    SysPosix/Debug/DaedalusAssertPosix.cpp

  Tried extensions .c .C .c++ .cc .cpp .cxx .cu .m .M .mm .h .hh .h++ .hm
  .hpp .hxx .in .txx


CMake Error at CMakeLists.txt:154 (add_executable):
  No SOURCES given to target: daedalus


CMake Error at CMakeLists.txt:150 (add_library):
  No SOURCES given to target: daedalus.lib


-- Build files have been written to: /home/giorgos/TEMPG/daedalus-1.1.8/daedbuild
make: *** No targets specified and no makefile found.  Stop.
cp: cannot stat 'daedalus': No such file or directory
>

Cannot compile for 3ds or linux

When I compile for 3ds I get an error saying I'm missing picaGL.
Screenshot_20200504_154304

I have found the picaGL repository but I don't know how to get it to work with DaedalusX64.

When I compile for linux I get :
Screenshot_20200504_154025

32/16color mode on psp

Cool to see that coding for this emu has picked up again :)
I'll need to give this newer version a spin.
One thing I wanted to note (since I did not see it in the readme) is that on the PSP I made it possible (or at least was) possible to run it in 32bit color mode if the (o) button was held down during boot of the emu.
This gave somewhat less banding (noticeable especially in TV mode if I remember correctly) at the expense of less available VRAM for textures (which was mostly an issue on the PHAT PSP).
Cheers

EDIT:
I gave it a spin and I noticed that async audio finally works without crashing :)
However for some reason the HLE patching vectors does not seem to get stored the first time around with the result that the HLE search happened every time I started a ROM.

[BUG]MajorasMask n64 on 3ds

On every boot of n64 Majoras mask on the 3ds, under updated daedalus and luma and 1.17 3ds(as of oct 2023), the initial cutscene plays without fog and leads to link auto dying as soon as gameplay starts and a full inventory of 48 ocarinas. - im led to beileve there is a problem with the flash memory location -

Device:

  • Device: new3ds - 2dsxl ver 1.17
    fresh daedalus64 ver 1.0

it happens with ever new install of MM and will not change.

[BUG]

O emulador não reconhece meu save de Mario 64, a antiga versão reconhecia o save, a nova não mostra meu save, e não estou usando savestate, utilizo o save do jogo, eu exportei ele do meu antigo emulador e agora ele não aparece, meu psp é o modelo 2000.
The emulator doesn't recognize my Mario 64 save, the old version recognized the save, the new one doesn't show my save, and I'm not using savestate, I use the game's save, I exported it from my old emulator and now it doesn't show up, my psp is the 2000 model.

2 game glitches

Alright so top gear rally(the first one) the frame rate is good but there are no textures
only buildings and wheels of the car the rest of it is black and body harvest has texture bugs on the player and houses( this is only at first glance)

Mario 64 in-game saves

Hi - I wanted to thank you for a great emulator, but also note that Mario 64 (which is a great example of how well the emulator runs} cannot load in-game saves.

I realize the Save States offer a work around for this issue, however, will there be support for in-game saves in that format?

I noticed Daedalusx64 does create the save file in the game saves folder, but it's a .sav file. Does the emulator not support that save file?

EDIT: saving is working normally again, I'm trying to re create the issue to see if I can provide better insight of what caused it originally in case it can help others.

[BUG] Can't load DaedalusX64 save file on any pc n64 emulator and vice versa

Describe the bug
I want to use my Pokemon Stadium save on a pc to use the Transfer pak emulation since daedalus doesn't support it. I also noticed any pc n64 emulator save file will not load in daedalus either.

To Reproduce
Open Pokemon Stadium on DaedalusX64 then try to load the save file on any pc n64 emulator.

Expected behavior
I expected it to load my save file.

Device:

  • Device: PSP 2000
  • FW: 6.61 PRO-C infinity 2
  • Daedalus Version 1.1.8

Additional context
In the future could DaedalusX64 support transfer pak emulation?

[BUG]Japanese is not displayed in menu

Describe the bug
I created and tested Japanese lng on my own
Nonetheless I didn't see any characters (though it seemed to be using the system font)
Half-width alphanumeric characters are visible
I would like to add a Japanese translation, so please support.

To Reproduce

  1. Add some Japanese language (double-byte character, not Unicode) to lng
  2. Save as Japanese.lng
  3. Start Daedaulus
  4. Switch to Japanese with Language
  5. Translated characters are not displayed

Expected behavior
Japanese written in lng is displayed correctly

Device:

  • Device: PSP-2000
  • FW: 6.60ME-1.8
  • Daedalus Version 1.1.8

Additional context
The character code of Japanese.lng was UTF-8 BOM

THANKYOU

Download Size

The download size of this repository is overly large. I'd like to suggest storing the ROM icons in a separate location and downloading them at build time (perhaps even making them optional) and removing the imported code (including the pre-built binaries). There's several package managers now on Windows (Vcpkg, Conan) and for the projects that aren't supported by them, there's FetchContent from CMake that makes it pretty easy to grab dependencies at build time.

This is going to require rewriting some Git history. Specifically, from git blame:

I haven't found any other commits that do this, but I also haven't looked too much.

This is related to issue #29.

I would be glad to submit a PR for this.

downloading the file

i cant download it because my wifi arent fast, so i want to search another way to download it because if i download from the github, in the 43% github blocks the download

is there another way to download DaedalusX64_1_1_8.zip?

[BUG] Daedalusx64 freezing on startup in adrenaline

Describe the bug
Daedalusx64 1.1.8 and 1.1.7 freeze on black screen when booting in adrenaline. Cannot get out of freeze, adrenaline must be force quit.

To Reproduce
Attempt to load either of the two versions in adrenaline

Expected behavior
Upon selecting either version to boot, psp splash screen is displayed, before emulator freezes on black screen.

Screenshots
Would just be a black screen.

Device:

  • Device: Vita Fat
  • FW: 3.65 with enso
  • Daedalus Version: 1.1.7 and 1.1.8

Additional context:

how to compile this source?

where are these files??

i am trying to compile it for linux

Make Error at CMakeLists.txt:154 (add_executable):
Cannot find source file:

SysPosix/main.cpp

Tried extensions .c .C .c++ .cc .cpp .cxx .cu .m .M .mm .h .hh .h++ .hm
.hpp .hxx .in .txx

CMake Error at CMakeLists.txt:150 (add_library):
Cannot find source file:

SysPosix/Debug/DaedalusAssertPosix.cpp

Tried extensions .c .C .c++ .cc .cpp .cxx .cu .m .M .mm .h .hh .h++ .hm
.hpp .hxx .in .txx

CMake Error at CMakeLists.txt:154 (add_executable):
No SOURCES given to target: daedalus

CMake Error at CMakeLists.txt:150 (add_library):
No SOURCES given to target: daedalus.lib

-- Build files have been written to: /home/pi/Desktop/daedalus/daedbuild
make: *** No se especificó ningún objetivo y no se encontró ningún makefile. Alto.
cp: no se puede efectuar `stat' sobre 'daedalus': No existe el fichero o el directorio

[BUG] Receiving the dreaded Error C2-12828-1 on my 3.60 hacked vita - but only on Daedalus

The Issue
Started installing some emulators today (mGBA, Retroarch, and Daedalus). After installing some ROMs and playing a few N64 games through Daedalus, I closed the app to install some GBA ROMs using VitaShell. Here's where my issue began (though I fail to see the correlation) - after installing the GBA ROMs, Daedalus gives me an error message as soon as I boot it up (while checking for updates).

To Reproduce
Not sure how this issue started - put a few ROM files into ux0>data>mGBA>ROMs folder and then Daedalus started giving me issues.

Expected behavior
Hoping someone can give me a fix that allows Daedalus to run without error

Screenshots
If applicable, add screenshots to help explain your problem.

Device:

  • Device: [PS Vita]
  • FW:[3.6 (Spoofed at 3.73)]
  • Daedalus Version [DaedalusX64-vitaGL v.0.4]

Additional context
Here's what I've tried so far (no success):
Rebooting device
Rebuilding databases
Deleting and reinstalling Daedalus's VPK
Deleting my Daedalus save files
Redownloading Daedalus from GitHub and reinstalling
Let me know if anyone has any suggestions I might try! Thanks in advance

Any plans to make this a libretro core?

I love how RetroArch/libretro allows me to access all my emulators from one place. Are there any plans to make this a libretro core? I saw this in the readme:

with plans to port to Windows, Mac, PS Vita among other platforms.

Making this a libretro core should help with that goal.

Any project that is ported to work with this API can be made to run on ANY libretro frontend – now and forever. You maintain a single codebase that only deals with the main program, and you then target one single API (libretro) in order to port your program over to multiple platforms at once. A libretro core written in portable C or C++ can run seamlessly on many platforms with very little or no porting effort.

http://docs.libretro.com/development/cores/developing-cores/

Thanks!

[Bug] Paper Mario Menu / tranparency in game glitches [3DS]

Describe the bug
Paper Mario has some artifiacting around text and certain images.

To Reproduce
Steps to reproduce the behavior:
Load Paper Mario see name input on new game

  • Star in text progression

Expected behavior
A clear and concise description of what you expected to happen.
No glitches.

Device:
3DS - I think also PSP and maybe other platforms that use the S2DEX Plugin

Linux build doesn't work

When I try to run the linux build with
./build_daedalus.sh LINUX_RELEASE

I get the following error:

./daedalus/Source/BuildOptions.h:22:10: fatal error: Platform.h: fatal error no such file or directory
 #include "Platform.h"

[BUG] No Sound on Linux

Describe the bug
When running Daedalus on Linux no sound is being played.

To Reproduce
Compile on Linux.
Run any game. (I tried Mario Kart 64, Legend of Zelda Ocarina of time)

Expected behavior
Sound to play.

Device:

  • OS: Ubuntu 20.04
  • Daedalus Version: git from master

[BUG] Can't build on a Mac

Removing previous build attempt
rm: /Users/username/downloads/daedalus/DaedalusX64/EBOOT.PBP: No such file or directory
-- The C compiler identification is AppleClang 12.0.0.12000032
-- The CXX compiler identification is AppleClang 12.0.0.12000032
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
Release Build
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/username/downloads/daedalus/MACbuild
Scanning dependencies of target sysGL
[ 2%] Building CXX object CMakeFiles/sysGL.dir/SysGL/Graphics/GraphicsContextGL.cpp.o
[ 2%] Building CXX object CMakeFiles/sysGL.dir/SysGL/Graphics/NativeTextureGL.cpp.o
[ 4%] Building CXX object CMakeFiles/sysGL.dir/SysGL/HLEGraphics/RendererGL.cpp.o
[ 4%] Building CXX object CMakeFiles/sysGL.dir/SysGL/HLEGraphics/GraphicsPluginGL.cpp.o
[ 5%] Building CXX object CMakeFiles/sysGL.dir/SysGL/Input/InputManagerGL.cpp.o
[ 6%] Building CXX object CMakeFiles/sysGL.dir/SysGL/Interface/UI.cpp.o
/Users/username/downloads/daedalus/Source/SysGL/Graphics/NativeTextureGL.cpp:29:10: fatal error:
'png.h' file not found
#include <png.h>
^~~~~~~
1 error generated.
make[2]: *** [CMakeFiles/sysGL.dir/SysGL/Graphics/NativeTextureGL.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/sysGL.dir/all] Error 2
make: *** [all] Error 2
blank-MBP:daedalus username$

[BUG] Can't Save in Super Smash Bros

While other games work just fine, Super Smash Bros will not save.

Press HOME, Go to Save State, Select an Empty Slot, press X.

In this case, the screen will go black and say "Saving..." for about half a second then return to the game, and when you go back to load the save state, it is not there, as if it never happened. In the games that work, the "Saving..." screen takes much longer to pass and the save state is readily accessible.

I even tried making another folder, mso:/n64/SaveStates, which worked for other games but not for Super Smash Bros.

Device:

  • Device: PSP 2001
  • FW: 6.60
  • Daedalus Version 1.1.8

Updated Daedalus, tried a different Super Smash Bros ROM, tried making a new directory for save states, and scoured the internet looking for a solution. I JUST WANT NESS!! (without having to unlock him every time)

THANKS

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.