sonik-br / gdmenucardmanager Goto Github PK
View Code? Open in Web Editor NEWManage content on SD Card for Dreamcast's GDMenu
License: GNU General Public License v3.0
Manage content on SD Card for Dreamcast's GDMenu
License: GNU General Public License v3.0
Hello,
How can I compile each flavor of build for my fork?
Hi @sonik-br - thank you so much for making this tool.
I'm testing the macOS support right now.
The first issue that I hit was this:
$ ./GDMENUCardManager
Failed to load Q, error: dlopen(/Users/marc/Downloads/GDMENUCardManager.v1.3.0-osx-x64/libhostfxr.dylib, 1): no suitable image found. Did find:
/Users/marc/Downloads/GDMENUCardManager.v1.3.0-osx-x64/libhostfxr.dylib: code signature in (/Users/marc/Downloads/GDMENUCardManager.v1.3.0-osx-x64/libhostfxr.dylib) not valid for use in process using Library Validation: library load disallowed by system policy
The library libhostfxr.dylib was found, but loading it from /Users/marc/Downloads/GDMENUCardManager.v1.3.0-osx-x64/libhostfxr.dylib failed
- Installing .NET Core prerequisites might help resolve this problem.
https://go.microsoft.com/fwlink/?linkid=2063366
I worked around this using these steps:
$ xattr -p com.apple.quarantine libhostfxr.dylib
0081;602eb0c6;Firefox;81D3CB12-3C53-4EE2-81B3-FB10DD979D0B
$ xattr -w com.apple.quarantine "00c1;0081;602eb0c6;Firefox;81D3CB12-3C53-4EE2-81B3-FB10DD979D0B" *.{dylib,dll}
$ ./GDMENUCardManager
And it launched fine.
QBERT ROM will not shrink and it is not recognized by the blacklist
file "Q-bert v1.003 (2000)(Majesco)(NTSC)(US)[!]"
Message "ERROR: Error during GDIShrink"
Windows 64 bit
every time i make any change it completes but then deletes the disc.cdi in my 01 folder it does leave a 1kb disc.gdi file in its place but that does not work
I'm trying to use the GDI shrink functionality on the GDMENU Card Manager. Upon trying, I'm getting this error:
I did a little bit of troubleshooting trying to make things work:
Am I doing something wrong?
Hi,
I'm new to modding a Dreamcast. I modded so many different consoles, from the Nintendo Minis (Hakchi2) to the PS2 (OPL Manager) and up to the Dreamcast, it was super easy to download and "apply" game covers.
I think it would be really neat if GMENUCardManager could leverage a database of covers - for example https://archive.org/download/670dreamcastgamesjewelcoverpicturesconvertedto256x256.pvrfilesforgdemu.7z - and automatically modify / patch GDI files on the fly when saving changes to the SD card.
Right now, the best way the community has come with is to use https://segaxtreme.net/threads/release-easy-0gdtex-pvr-tools.24651/ and play with decompressing and rebuilding tosec GDI images with drag and dropping folders on Windows batch scripts. Maybe GMENUCardManager could leverage this mechanism behind the scene to streamline the whole process combined with the covers database.
Anyway. I open this issue so we can kick-start a discussion / analyzing on the requirements and feasibility of such a thing in GMENUCardManager.
Regards,
I am able to get OpenMenu to work using the Win-X64 version of GDMENUCardManager. I can build an SD Card of games and it will boot properly on the Dreamcast and the UI of OpenMenu seems to work perfectly for navigating and launching games.;
However, when I do scratch build of my SD card using the OSX version of GDMENUCardManager, I put it in my Dreamcast and after going through the initial Dreamcast and Sega screens, I just get a black screen.
Also tried taking an SD Card built initially under Win-X64 version of GDMENUCardManager for use with OpenMenu, tested it in the Dreamcast and was working fine with OpenMenu, then took the same SD card and tried to update it using the OSX version of GDMENUCardManager. It boots into a black screen after the initial Dreamcast and Sega screens just like the scratch built card.
Ran exclusives thru your neat little program and made some lists for you.
I found most blacklisted titles would work fine if I added some extra buffer to the end of track03.
Resident Evil 2 was my first test and from memory needed around 62k extra padding to get past the movie loop,
but I went and added 1mb padding to offending titles OR used the track03 from a game processed with gdiopt.exe(DC-Swat release).
I think gdiopt.exe handles a few edge cases safer than GDmenu, Im pretty sure it wont allow a track03 under 300k.
I put everything thru shrink, and unless some of the blacklisted games are audio issues or late game issues they are loading fine to the first menu. I will only list titles that failed to load.
(I used 1mb buffer addon or track03 from gdi batch optimisator gdiopt.exe)
MICROSOFT FLIGHT SIMULATOR
PUZZLE BOBBLE4
RESIDENT EVIL 2 DISC 1 AND 2
SHINSEIKI EVANGELION TYPING E-KEIKAKU [TRANSLATED]
HELLO KITTY - MAGICAL BLOCK
GET!! COLONIES
HYDRA CASTLE LABYRINTH (HOMEBREW)
DEFENSE COMMANDER (HOMEBREW)
4X4 EVO REVIVAL
TAXI 2
SUPER RUNABOUT - SAN FRANCISCO EDITION
WHO WANTS TO BEAT UP A MILLIONAIRE
SNOCROSS - CHAMPIONSHIP RACING
HALF-LIFE (HOMEBREWS)
FLOIGAN BROS
OOGA BOOGA
Data actually removed, something goes wrong here and some data gets cleaned from the end of track03.
SILENT SCOPE (2KB)
Don't know if this is possible, but I figured I'd bring it up with the hidden multi disc support being fixed on openmenu.
Some games have incorrectly labeled disc #'s. I don't know if it is an issue with the dumps (I have tried quite a few for these games), an issue with how the game was programmed, or an issue with the gdmenucardmanager applications.
Some Examples: Sakura Wars is 2 discs and disc 1 is labeled 1/3 and disc 2 is labeled 2/3. Sakura Wars 2 is 3 discs and disc 1 is labeled 5/7, disc 2 is labeled 6/7, and disc 3 is labeled 7/7. Real Sound - Kaze no Regret has 2 discs and they are both labeled 1/3.
If there is a way to fix this outside of the application let me know also please :)
I'm not sure why this happens, but when I click Save Changes and the shrink menu opens, nothing is selected. I don't know if it's supposed to select all supported games by default or if it skips games as it goes along. So I assumed the latter and did Select All, and proceeded. Despite this, it went ahead and shrunk everything anyhow. I noticed this when it reached Q-BERT and failed. I am using the latest available TOSEC gdi set by the way.
I was not able to find instructions on how to run the software for the Linux version.
The link on the README.MD file to the .NET 5.0 installer takes you to a page that downloads the last release of the 5.0 runtime, which is 5.0.17. The application won't run unless .NET 5.0.0 is installed and unfortunately 5.0.17 doesn't cut the mustard. I could not run it with this .NET runtime version installed
The correct version of the runtime can be found on the full 5.0.x releases page at https://dotnet.microsoft.com/en-us/download/dotnet/5.0 and navigating down and expanding the 5.0.0 section. Within, it is named as 5.0.100 and it downloads an installer that is named 5.0.100, but after installing it the excellent GDMenu Card Manager application will then run.
At the very least the documented guidance should be updated to direct new users to the correct runtime installer. However I would like to recommend that the application be updated to use a more recent release of .NET that is stable and supported as .NET 5 is obsolete.
The linux (and mac) version is almost ready. I just need to do some tests.
What distro do you use?
I'm testing on Ubuntu on a VM. It mounts my card reader on /media/.... It''s the common way to handle removeable storage devices?
Originally posted by @sonik-br in #2 (comment)
Add a option to convert a title to all uppercase letters, to keep original title scheme that was also used in previous version.
Just like the title says.
This might be difficult to implement.
Describe the bug
After making changes to the games list (ex. removing a game), and clicking 'Save Changes' I'm met with the error in the title: Error loading file /Volumes/DREAMCAST/##/._disc.gdi. It starts with the first game in /02/ and happens for every title/directory.
As you'd expect, there aren't any actual hidden files in the game directories, i.e. there is no ._disc.gdi.
If you rename the disc.gdi file in a directory (ex. ddisc.gdi) the app seems ok with it, but to be safe I closed th app, re-named it back to disc.gdi, reopened the app and it was still OK.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The app shouldn't look for or expect any hidden files. I expect to make changes then save them.
Desktop (please complete the following information):
Additional context
My only work around after removing a game was to close the app, manually change the name of every single disc.gdi file, reopen the app, close the app, rename every file back to disc.gdi, reopen the app, and click 'Save Changes'.
Also note, this is after the first initialization of the card with the app. I was able to drag & drop all my games onto the card, rename them, sort them and save them all ok. It's after all that when I try removing a game and click 'Save Changes' that the error occurs.
Would be cool even if it was invoking chdman.
I have the issue with linux that my sd card isn't found. Could you add an option to simply choose from a directory for linux systems. This would simplify the process and should work for all desktop environments.
Otherwise the application looks like it's working fine.
OS: openSUSE 15.3
Windowmanager: i3
The current Mac version does not run due to a permission error; the executables at GDMENUCardManager.app/Contents/MacOS/GDMENU
and GDMENUCardManager.app/Contents/MacOS/GDMENUCardManager/GDMENUCardManager
are not marked as executable, which causes the app to fail to open until manually fixed.
Hi.
Almost every tutorial on the web uses SDCardMakerForGDEMU by MadSheep to easily setup the SD Card for the Rhea and Phoebe (with VGA, Region and Menu off).
I've tried to do the same with GDMENUCardManager unsuccessfully.
Seems to be easy (but I might be mistaken) to officially support the Phoebe and Rhea on GDMENUCardManager.
If the creator of RMenu for Phoebe/Rhea doesn't give permission to use his application on yours, just leave the 01 folder empty.
Thanks.
I've set up a card using GDMenuCardManager, and once I put it on the GDEMU, the names are cut off for some of the things on it:
I'm guessing this means that the maximum length of 40 characters is, in GDMenu's case, inclusive of the null terminator byte, because it seems like C#'s Substring method (used here) does what you'd expect.
I downloaded v1.3.5 for Linux and ran ./GDMENUCardManager
but I get bash: ./GDMENUCardManager: No such file or directory
. I ran file ./GDMENUCardManager
and got GDMENUCardManager: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=2ee0ad40d62097d2929eb6579b4dbe8b525bc9d7, stripped
so it seems the executable doesn't work. I checked the linked libraries with ldd
and it shows this:
linux-vdso.so.1 (0x00007ffd50fdb000)
libpthread.so.0 => /nix/store/lyl6nysc3i3aqhj6shizjgj0ibnf1pvg-glibc-2.34-210/lib/libpthread.so.0 (0x00007f47a3677000)
libdl.so.2 => /nix/store/lyl6nysc3i3aqhj6shizjgj0ibnf1pvg-glibc-2.34-210/lib/libdl.so.2 (0x00007f47a3672000)
libstdc++.so.6 => not found
libm.so.6 => /nix/store/lyl6nysc3i3aqhj6shizjgj0ibnf1pvg-glibc-2.34-210/lib/libm.so.6 (0x00007f47a3599000)
libgcc_s.so.1 => /nix/store/lyl6nysc3i3aqhj6shizjgj0ibnf1pvg-glibc-2.34-210/lib/libgcc_s.so.1 (0x00007f47a357f000)
libc.so.6 => /nix/store/lyl6nysc3i3aqhj6shizjgj0ibnf1pvg-glibc-2.34-210/lib/libc.so.6 (0x00007f47a337f000)
/lib64/ld-linux-x86-64.so.2 => /nix/store/lyl6nysc3i3aqhj6shizjgj0ibnf1pvg-glibc-2.34-210/lib64/ld-linux-x86-64.so.2 (0x00007f47a367e000)
I haven't managed to get it to run though.
I get this error trying to open it on holo (arch linux/steamos3)
GDMenu error.txt
Describe the bug
When going to the about section and clicking the link, the app closes
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Open default browser on the github link
Desktop (please complete the following information):
Implemented 7z and rar support for linux by using the SharpCompress lib.
@cinnamonmatexfce and @Mi1ezDR please go to the releases and grab the file named BETA.
It needs some testing. Let me know of any problem.
Originally posted by @sonik-br in #2 (comment)
Adding 7z files to the list works, but when "Save Changes" it will stop with error "Access to the path /run/media/$USERNAME/foo/01
is denied.", note it's referring to 01
folder!
TOSEC has files named .raw where the shrink expects a .bin
Primeiramente, parabéns pelo excelente trabalho. Estou utilizando a última versão no Windows 10. Quero relatar alguma coisa e não tenho certeza se estou fazendo certo. Quando escolho a opção GDI Shrink seleciono todas as opções, inclusive a blacklist. Pelo que entendi os jogos da blacklist deveriam ser reconhecidos e não deveriam ser shinkados se podemos dizer assim. Vi alguma lista que o Resident Evil 2 não funciona quando selecionado shrink mas mesmo assim o programa faz o shrink mesmo assim. Gostaria de saber onde vejo essa lista oficial que o programa reconheça os jogos como blacklist.
Outros problemas ou melhoria:
1 - Não vi a opção se SHRINK na versão do MacOS.
2 - Poderia ter um aviso que estamos colocando jogos repetidos com o mesmo ID antes de passarmos para o cartão. Só não peço para bloquear jogos repetidos porque as vezes o pessoal faz modificações nos jogos e eles continuam com o mesmo ID.
Give the option to format the SD Card in FAT32 32kb/64kb clusters.
This way the user won't need to use another tool.
Is your feature request related to a problem? Please describe.
Yes, shrunken images do not run on GDEMU 5.20.3 and higher
Describe the solution you'd like
GDEMU INI requires image_tests = 0, I'm not able to check the impact on lower revisions
Describe alternatives you've considered
Don't shrink images.
Additional context
https://www.dreamcast-talk.com/forum/viewtopic.php?f=42&t=16336
I see x68 release files which I've never seen before. x64 makes sense, so I assume these x68 files are supposed to be x86?
App will show a error message when using compressed files with multiple games inside.
Need to check for this and show a warning.
Error reported by @FreddoUK
Won't allow unlicensed GDI , no big deal, but list was cut short of 13 unlicensed games.
Been having issues giving a error : cannot create a file that its already exist. How can i fix this isuue>?
Hello,
I'm using a gdemu 5.20.3 and the games work fine when using complete gdi images, however when I try to shrink and run them it boots directly to the Dreamcast menu.
These games are not blacklisted.
Thank you
Hello, this tool worked great for me until I tried a custom theme for GDEMU called "Cleancast v2 rev1 (Red Swirl)". I replaced 1ST_READ.BIN
in tools\menu_data
and it built just fine, however the console hangs on the SEGA license screen. If I put the original 1ST_READ.BIN
back in, it works fine.
Here's the modified file with the custom theme:
1ST_READ.zip
The console booted fine with this file when I used the old GDEMU_SD tool instead, so I thought I should report this just in case.
I tried running your program on Ubuntu 22.04 and I'm getting this error:
No usable version of libssl was found
Did a quick search online and it seems like it's an issue with the library being older than the one in Ubuntu. Is GDEMUCardManager supported on Ubuntu 22.04? If yes, can you please add some notes to your README about how to get it to work?
Hi, thanks for good work! 👏🏻
Are there any chances to make it available also for other OS's?
Game's Serial ID is missing when adding a game using compressed file, as reported a user.
When running the latest release on my arch mainline rig I ran into the following error:
Process terminated. Couldn't find a valid ICU package installed on the system. Set the configuration flag System.Globalization.Invariant to true if you want to run with no globalization support.
at System.Environment.FailFast(System.String)
at System.Globalization.GlobalizationMode.GetGlobalizationInvariantMode()
at System.Globalization.GlobalizationMode..cctor()
at System.Globalization.CultureData.CreateCultureWithInvariantData()
at System.Globalization.CultureData.get_Invariant()
at System.Globalization.CultureInfo..cctor()
at System.StringComparer..cctor()
at System.StringComparer.get_OrdinalIgnoreCase()
at Avalonia.Media.KnownColors..cctor()
at Avalonia.Media.KnownColors.ToBrush(Avalonia.Media.KnownColor)
at Avalonia.Media.Brushes.get_Black()
at Avalonia.Controls.TextBlock..cctor()
at Avalonia.Controls.Primitives.TemplatedControl..cctor()
at Avalonia.Controls.Window..cctor()
at Avalonia.Controls.ApplicationLifetimes.ClassicDesktopStyleApplicationLifetime..cctor()
at Avalonia.Controls.ApplicationLifetimes.ClassicDesktopStyleApplicationLifetime..ctor()
at Avalonia.ClassicDesktopStyleApplicationLifetimeExtensions.StartWithClassicDesktopLifetime[[System.__Canon, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](System.__Canon, System.String[], Avalonia.Controls.ShutdownMode)
at GDMENUCardManager.Program.Main(System.String[])
[1] 543118 IOT instruction (core dumped) ./GDMENUCardManager
ICU deps are installed properly, the solution to get around this error was to do this:
export DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1
Then the application ran fine. Putting this here to help folks that may run into this and perhaps help the dev to figure out a better solution.
Linux 6.2.13-zen-1-zen #1 ZEN SMP PREEMPT_DYNAMIC Wed, 26 Apr 2023 20:49:44 +0000 x86_64 GNU/Linux
On latest version (2.0.0)
A user reported:
1. Wrote openMenu & three games
2. Added three more games and changed to gdMenu
gdMenu loads but game #1 is titled openMenu and #5 is titled GDMENU & doesn't work (goes to BIOS menu).
I still need to reproduce this on my end and understand what causes it.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.