Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Emulator plugin support #4

Closed
ariahiro64 opened this issue Nov 13, 2024 · 24 comments
Closed

Emulator plugin support #4

ariahiro64 opened this issue Nov 13, 2024 · 24 comments

Comments

@ariahiro64
Copy link

most flashcarts including the everdrive ed64p summercart and daisy drive can inject emulated roms as a specific rom address before booting (0x0b200000 i think). essentially by checking that address for roms you can make this flashcart plugin.

@fhoedemakers
Copy link
Owner

Ok, this may work. Only not sure whether there is a romheader present so i can detect whether it is a Sega Master System or Game Gear rom on that location.

I have a Everdrive 64 X7. What do i need to do to make it work as a plugin?

@ariahiro64
Copy link
Author

ariahiro64 commented Nov 13, 2024

from the x7 manual

Third party emulators

Cartridge supports using third party emulators for playing games from other platforms.
Emulator should be located in ED64/emu folder, file name should match the ROM extension
from target platform. For example emulator for nes files should be stored as
ED64/emu/nes.v64

and the address has been agreed on by the community except for the older crappy gg one that i hope this replaces
you can look at my altra64 fork for the adress under nes and sfc as it doesnt change for the standardized one

@ariahiro64
Copy link
Author

ariahiro64 commented Nov 13, 2024

Ok, this may work. Only not sure whether there is a romheader present so i can detect whether it is a Sega Master System or Game Gear rom on that location.

you dont need to as the name is how it detects it unless its more complicated than i think as im not a sega programmer

@fhoedemakers
Copy link
Owner

Ok, clear.

@networkfusion
Copy link

networkfusion commented Nov 13, 2024

See here for an explanation (for SummerCart64 emulator plugin support): https://discordapp.com/channels/205520502922543113/205520502922543113/1142614828641435658

Also, if the emulator is able to perform saves, we need to know which type.

@fhoedemakers
Copy link
Owner

fhoedemakers commented Nov 13, 2024

Hi, this link does not work for
me. I have a discord account.What channel is it?

@networkfusion
Copy link

Hi, this link does not work for me. I have a discord account.What channel is it?

It is on the N64Brew discord, in the n64-dev channel circa 2023-08-20

@fhoedemakers
Copy link
Owner

fhoedemakers commented Nov 13, 2024

Can you send me an invite link. I tried https://discord.gg/N64Brew but this does not work

@networkfusion
Copy link

networkfusion commented Nov 13, 2024

https://discord.gg/WqFgNWf (assuming the link works from https://n64brew.dev/wiki/Main_Page)

@fhoedemakers
Copy link
Owner

Thanks

@fhoedemakers
Copy link
Owner

Will try to work something out next weekend.

@fhoedemakers
Copy link
Owner

I did some code-changes in the N64FlashCartMenu branch to build a version that runs a gamegear game from address 0x200000
I copied the build to ED64/emu/gg.z64

gg.zip

However when trying to launch a game from the everdrive menu, and select a game gear game (.gg) i get no option for launching that rom. Launching a .nes game for the nes emulator works fine.

Screenshot 2024-11-15 11-20-38

Renaming gg.64 to gg.v64 in /ED64/emu did not help. I'm using the latest version of the Everdrive X7 firmware (3.08)

Am i missing something?

These are the contents of the /ED64/emu folder:

Screenshot 2024-11-15 11-24-57

When loading a .nes game I get a "Start game" option:

Screenshot 2024-11-15 11-26-16

@networkfusion
Copy link

Here were the speculative changes I did to the n64flashcartmenu that allow you to keep the original emulator name: Polprzewodnikowy/N64FlashcartMenu#159

As for krikzz menu, I believe that you may need to add something to the ini file, but not sure.

@networkfusion
Copy link

In the manual for x7, presuming you are using os 3.06 or later, the only documentation I can find says "Third party emulators
Cartridge supports using third party emulators for playing games from other platforms.
Emulator should be located in ED64/emu folder, file name should match the ROM extension
from target platform. For example emulator for nes files should be stored as
ED64/emu/nes.v64
"

@fhoedemakers
Copy link
Owner

Ok i cloned your repository and tried to build it. But get the error message below. (Using my own libdrahon toolchain)
Do you have a prebuild binary of the menu which i can put on my Everdrive?

image

@networkfusion
Copy link

networkfusion commented Nov 15, 2024

you can download the artifacts from the PR action run, latest is here: https://github.com/Polprzewodnikowy/N64FlashcartMenu/actions/runs/11855848627?pr=159

The menu is designed to be built via a docker dev container.

Note that the develop branch ED64 version is only able to load ROMs at the moment (should also work for emulators), but no save functionality has been implemented as it is still WiP for those carts.

Also note that the ed menu rom still needs to be placed in the ed64 folder (rather than the root, like the sc64), but the emus need to be placed in the menu/emu folder.

@networkfusion
Copy link

Oh! appologies, I forgot we were awaiting upstream changes for the X7 (see here: Polprzewodnikowy/N64FlashcartMenu#137)

@fhoedemakers
Copy link
Owner

Ok. Thanks. Will look into this later. One more questions. In the actions artifacts, there is a ed64.zip and a edp64.zip. What is the difference?

@networkfusion
Copy link

Ok. Thanks. Will look into this later. One more questions. In the actions artifacts, there is a ed64.zip and a edp64.zip. What is the difference?

Clone carts.

If I have time this afternoon, I can try the emu again on my SC64.

@networkfusion
Copy link

networkfusion commented Nov 15, 2024

Here is a video of using the "gg.zip" attachment, renaming the gg.z64 to smsplus64.z64 and using the PR from N64FlashcartMenu

smsplus64.mp4

@fhoedemakers
Copy link
Owner

I have to test it myself. The exception is at the address where the rom should be loaded. See if I can do it later this day or tomorrow

@fhoedemakers
Copy link
Owner

I'm somewhat confused. Is there for me to test a version of the menu available for my EverDrive-X7 in which the smsplus changes are incorporated?

When I download the ED64.zip and put the OSv64.64 in the ED64 folder i get the screen below. I don't see the SD card filesystem.

Screenshot 2024-11-15 18-13-42

@networkfusion
Copy link

That comes back to the issue with the EX64 X7 detection issue. The menu shown there is all files that you would get when loading a cart that is not recognised, so presumes an emulator. Can you DM contact me on discord (same username).

@networkfusion
Copy link

#5

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants