writing a new gdemu menu (opensource) - anyone want to help/work on this?

Discussion in 'Sega Dreamcast Development and Research' started by Mrneo240, Jan 20, 2019.

  1. Mrneo240

    Mrneo240 Enthusiastic Member

    Joined:
    Sep 15, 2017
    Messages:
    505
    Likes Received:
    614
    hello!

    with just the right of info dropped by our beloved megavolt85, i believe we could start to write the basics of a very simple, but fully open/free gdemu menu frontend.

    would anyone want to take a stab at this?

    DO NOT be misled, many features you've come to love would be missing initially.
    • in game reset
    • codebreaker loading
    • vga patching
    • region free
    • bypass of license and sega screen.
    but together maybe we can build a brighter tomorrow
     
    zero35, Zeigren, sa1 and 4 others like this.
  2. Anthony817

    Anthony817 Familiar Face

    Joined:
    May 12, 2010
    Messages:
    1,117
    Likes Received:
    594
    With multiple people working on an open sourced GDMENU great things can be achieved in due time! I seriously can't believe we have the SDK available now! My guess is it was initially only shared with Neuroacid, but he shared it with others. Thankfully it is enough to get something built! In my humble opinion, I believe you might want to post this at all the various DC forums around the net you frequent at, so as many eyes see this as possible. Especially over at r/Dreamcast and Dreamcast-Talk forums.
     
    sa1 likes this.
  3. megavolt85

    megavolt85 Peppy Member

    Joined:
    Jan 8, 2015
    Messages:
    323
    Likes Received:
    473
    I disassembled GDMENU in order to get this SDK

    is standart BIOS function

    why? use this engine, need only create GUI in new menu

    small idea for new menu
    Code:
    uint8_t secbuf[2048];
    char str[64];
    CDROM_TOC toc;
    
    int is_dc_img()
    {
        if (!strncmp((char*)secbuf, "SEGA SEGAKATANA SEGA ENTERPRISES", 32))
        {
            return  1;
        }
        
        return 0;
    }
    
    int is_psx_img()
    {
        if (!strncmp((char*)secbuf+8, "PLAYSTATION", 11))
        {
            return  1;
        }
        
        return 0;
    }
    
    void read_disc_info()
    {
        int status = -1, disc_type = -1;
        
        cdrom_reinit();
        
        do
        {
            cdrom_get_status(&status, &disc_type);
            
            if (status == CD_STATUS_PAUSED ||
                status == CD_STATUS_STANDBY||
                status == CD_STATUS_PLAYING )
            {
                break;
            }
        }
        while(1);
        
        if(disc_type == CD_GDROM)
        {
            cdrom_read_toc(&toc, 1);
            cdrom_read_sectors((void*)secbuf, 45150, 1);
        }
        else
        {
            cdrom_read_toc(&toc, 0);
            cdrom_read_sectors((void*)secbuf, cdrom_locate_data_track(&toc), 1);
        }
        
        if(is_dc_img())
        {
            memcpy(str, secbuf+128, 32);
            str[32] = '\0';
        }
        else
        {
            cdrom_read_sectors((void*)secbuf, 166, 1);
            
            if(is_psx_img())
            {
                memcpy(str, secbuf+40, 32);
                str[32] = '\0';
                printf("[PSX] ");
            }
            else
            {
                strcpy(str, "Unknown disc");
            }
        }
        
        printf("%s\n", str);
    }
     
  4. Mrneo240

    Mrneo240 Enthusiastic Member

    Joined:
    Sep 15, 2017
    Messages:
    505
    Likes Received:
    614


    heres a menu that does nothing. soon.
     
    Zeigren, sa1, Blockhead and 1 other person like this.
  5. Mrneo240

    Mrneo240 Enthusiastic Member

    Joined:
    Sep 15, 2017
    Messages:
    505
    Likes Received:
    614
    I will but I'd rather wait until something is at least running and works even if just barely.
    -minimum: change image and launch
     
    Anthony817 likes this.
  6. Greg2600

    Greg2600 Resolute Member

    Joined:
    Jun 23, 2010
    Messages:
    934
    Likes Received:
    112
    Wish we could have one for USB-GDROM.
     
  7. Mrneo240

    Mrneo240 Enthusiastic Member

    Joined:
    Sep 15, 2017
    Messages:
    505
    Likes Received:
    614
    get some info if it can be done through G1 cmds
     
  8. Mrneo240

    Mrneo240 Enthusiastic Member

    Joined:
    Sep 15, 2017
    Messages:
    505
    Likes Received:
    614
    Zeigren, Plavix and Anthony817 like this.
  9. Greg2600

    Greg2600 Resolute Member

    Joined:
    Jun 23, 2010
    Messages:
    934
    Likes Received:
    112
    mnemo, the creator, has notoriously refused to allow any such interface.
     
  10. Mrneo240

    Mrneo240 Enthusiastic Member

    Joined:
    Sep 15, 2017
    Messages:
    505
    Likes Received:
    614
    To what benefit? Ensuring his higher priced option has less features?
     
    Zeigren, Anthony817 and -=FamilyGuy=- like this.
  11. -=FamilyGuy=-

    -=FamilyGuy=- Site Supporter 2049

    Joined:
    Mar 3, 2007
    Messages:
    3,092
    Likes Received:
    1,033
    Nice initiative and project! FOSS FTW!

    Sadly, I really can't commit to anything more than following the project because of a lack of free time. But it might be a good opportunity for learning!
     
  12. Anthony817

    Anthony817 Familiar Face

    Joined:
    May 12, 2010
    Messages:
    1,117
    Likes Received:
    594
    This is why people shit on Mnemo so much, amongst other reasons. This is why the GDEMU will always be the better option. When 1tb SD cards release and come down in price, what point is there for the USB-GDROM?
     
    darcagn likes this.
  13. Mrneo240

    Mrneo240 Enthusiastic Member

    Joined:
    Sep 15, 2017
    Messages:
    505
    Likes Received:
    614
    -=FamilyGuy=- and Anthony817 like this.
  14. Anthony817

    Anthony817 Familiar Face

    Joined:
    May 12, 2010
    Messages:
    1,117
    Likes Received:
    594
    Lol what is that song in the 2nd video? I used to be big into Three 6 Mafia back in the day, dude is rapping lyrics from Slob on my Knob. Not too big on modern rap more into Electronic nowadays. Sounded interesting though.
     
  15. Mrneo240

    Mrneo240 Enthusiastic Member

    Joined:
    Sep 15, 2017
    Messages:
    505
    Likes Received:
    614
    ASAP Ferg - plain Jane
     
    Anthony817 likes this.
  16. Greg2600

    Greg2600 Resolute Member

    Joined:
    Jun 23, 2010
    Messages:
    934
    Likes Received:
    112
    He's notoriously paranoid about his device being copied in some fashion. It's absurd.

    To be frank, Deunan is just as bad. He never properly responded to the whole 12V overheating issue, and while he allows menu work, his file system remains archaic as ever. When was his last firmware update? Why are the folder structures so patently bad?
     
    fry76 and Anthony817 like this.
  17. Anthony817

    Anthony817 Familiar Face

    Joined:
    May 12, 2010
    Messages:
    1,117
    Likes Received:
    594
    Yeah not defending his business practices either, it was why I was compelled to get a clone after trying to get a legit one for 4 years without dealing with scalpers.

    But just on the fact that it is cheaper, will surely support 1tb SD cards when they come down in price, and we have a nice GUI menu, as well as the possibility to have alternatives released is why I prefer it. I was seriously contemplating getting a USB-GDROM for the longest, but honestly the dude is charging an arm and a leg for them. The only advantage it has that I can see at the moment is it supports up to 2tb USB storage devices. Once 1tb and 2tb SD cards come out, and are affordable, I don't see why anybody should continue purchasing that device when it doesn't even have the ability to get a decent looking menu for it. Presentation is everything to a lot of people.

    Even then only reason somebody would need that much storage is for emulators and homebrew on top of the full set of retail releases.

    Not knocking the people who bought that device, as it isn't a race here, but just saying that the fact he charges so much, and refuses to allow a more complex menu is insanity on his part, but people are still willing to buy them so they continue to sell.

    In fact, I wasn't even a fan of GDEMU until a friend sent me his modded DC to test out for about 6 months back in 2016 to get a feel for them. Once I saw how nice it was in person, any of my personal preconceived notions of the GDEMU being inferior to the USB-GDROM melted away.

    But I should keep this on topic and not let the thread deviate from the OP.

    Hopefully the newly discovered .bin files found inside the binary of GDMENU will help this project to shine bright as well. Hopefully we can get many different menus for people to pick and choose from.

    One thing that you mentioned was the archaic file system in place, I agree. It also would be nice if we can group or organize games by genre or separate homebrew from retail in it's own subdirectory or via the ability to group games from the menu itself. Something like how you can add folders and group apps/games on PS3 would be idea into it's own categories/folders.
     
  18. -=FamilyGuy=-

    -=FamilyGuy=- Site Supporter 2049

    Joined:
    Mar 3, 2007
    Messages:
    3,092
    Likes Received:
    1,033
    The reason his filesystem is so simple might be completely pragmatic. FPGAs are very different don't have infinite room for logic, and he might not have that much room left after the emulation logic. Bigger FPGA implies a higher price, so it's a game of trade-offs.

    Mnemo is childish and demeaning. His comparison table between GDEmu and USB GD-Rom was nothing short of bad faith; he's basically a fanboy of himself.

    On the other end, Deunan doesn't have the best commercial mind; he could sell much more GDEmus with less effort and for cheaper, all of that while making more profits, if he wanted to put some cash upfront and automate his process. But I guess not everyone has the entrepreneurial mindset, and losing some control over your cherished work can be intimidating.

    That said, I still think clones are a shame. They're a symptom of a problem, but it's still basic intellectual theft. The cloners are making money out of the hard work of others and they deserve no support from us.

    @Mrneo240, any chance of a VirtualBox image with an environment set up for developing the menu? With only "git pull" and "make" to run to get a proper binary? Or just one with a DC Dev environment? That'd so convenient for me... Don't bother if you don't see the point or don't have the time.

    Any chance @neuroacid might share his non-NDA menu code to build upon? It'd be nice for at least the different ways to boot etc.
     
    darcagn and Anthony817 like this.
  19. Mrneo240

    Mrneo240 Enthusiastic Member

    Joined:
    Sep 15, 2017
    Messages:
    505
    Likes Received:
    614
    i havent checked, but likely you could use DreamSDK R1 https://assemblergames.com/threads/dreamsdk-r1-released.70159/ .Or i think simulant has a docker image you could also use?

    but in its current form (maybe i have to push more recent changes)
    its a pretty simple build process
    Code:
    cd openmenu
    make clean;make
    cd loader
    make clean;make scramble
    then in /build you should have a 1ST_READ.BIN ready to use in a cdi (its scrambled, supply your own IP.BIN)
     
    -=FamilyGuy=- likes this.
  20. Plavix

    Plavix Rapidly Rising Member

    Joined:
    May 17, 2012
    Messages:
    86
    Likes Received:
    18
    I feel there is no need for a different menu on usb gdrom. I like what MNEMO has done with it. It's total fine the way it is. GDEMU imho isn't as good as USB GD-ROM.
     

Share This Page