Unofficial Deunan's GDEMU Thread

Discussion in 'Sega Dreamcast Development and Research' started by duskdawn, Jul 8, 2015.

  1. truemaster1

    truemaster1 Intrepid Member

    Joined:
    Nov 10, 2015
    Messages:
    654
    Likes Received:
    325
    spaming? really im sorry to hear that. all I tried is to gather people to continue what we did here in another site. if this site goes out. hope not.
     
  2. darcagn

    darcagn Site Supporter 2013, Site Supporter 2014

    Joined:
    May 13, 2007
    Messages:
    561
    Likes Received:
    296
    I appreciate you saying that (dcemulation.org is my site) -- if members do choose to migrate discussion to there (after all, most of you have an account already) I can say that I will do everything within my power to accommodate you (restructuring forums if necessary, making the wiki more open for all, etc.). Failing that, there is obscuregamers that is looking to replace AssemblerGames as well.
     
    Dreamcast likes this.
  3. Arcadia

    Arcadia Robust Member

    Joined:
    Aug 24, 2016
    Messages:
    278
    Likes Received:
    143
    Is obscure gamers the same website released some year ago or a completely new one? I can't seem to login with my username I registered back then.
     
  4. darcagn

    darcagn Site Supporter 2013, Site Supporter 2014

    Joined:
    May 13, 2007
    Messages:
    561
    Likes Received:
    296
    it's the same people but a new installation of the forum. I couldn't log in with my username either, I had to make a new one
     
  5. Spec

    Spec Rising Member

    Joined:
    Apr 14, 2015
    Messages:
    62
    Likes Received:
    25
    Anyone else having issues running GDEmu SD Card Maker v1.10 ?

    I keep getting a NET. Runtime error: '#Error: System.BadImageFormatException'
    I guess this might be because my NET Framework is updated to the latest version also I'm running on Windows 10.
    I even tried redownloading GDEmu SD Card Maker v1.10 and it does the same thing.
    Any ideas?
    Thanks
     
    Last edited: Aug 24, 2019
  6. truemaster1

    truemaster1 Intrepid Member

    Joined:
    Nov 10, 2015
    Messages:
    654
    Likes Received:
    325
    i can launch it fine also on windows 10 latest build. i needed to put it on exclusion list on bit defender antivirus
     
    Spec likes this.
  7. Spec

    Spec Rising Member

    Joined:
    Apr 14, 2015
    Messages:
    62
    Likes Received:
    25
    Thx for the feedback. Yes, I made sure about all AV proggy's to exclude the .exe of the SD Card Maker, although... It seems to be working now. I guess something was up with windows or whatever since last boot.
     
  8. abveost

    abveost Peppy Member

    Joined:
    Dec 15, 2014
    Messages:
    321
    Likes Received:
    56
    I'm making a LIST.INI builder for my batch gdmenu builder but don't know where "vga" comes from. I'm guessing somewhere in the block of hex digits after region. Anyone know?
     
  9. abveost

    abveost Peppy Member

    Joined:
    Dec 15, 2014
    Messages:
    321
    Likes Received:
    56
    I was looking for a tray but couldn't find anything that had everything I wanted so made a new one. This is a rough first draft that got shifted towards the end but still fits in the important parts and works for testing. I wanted something that snaps in from the top instead of screws in from the bottom. And a battery clip was a must. I'm using a CR2032 with a rectifier but it could be a LR with a charging circuit or am ML with nothing. There's also a clip inside the connects to the internal battery. Not sure if this is a good long term solution but figured I'd give it a try. The SD and battery clip mount are printed because I didn't have anything laying around that was short enough to mount vertically. And I wanted micro SD, mostly because it's not the 90's


    [​IMG]
     
    Anthony817, Rocky5 and Teddy Rogers like this.
  10. jhmiller

    jhmiller Member

    Joined:
    Feb 3, 2016
    Messages:
    19
    Likes Received:
    2
    Position 0x4D of the Track 1 or Track 3 is the identifier of the VGA.
    If it is "1" ("31") then YES, the game support VGA.
    If it is "0" ("30") then it does not support VGA.
     
    Last edited: Sep 15, 2019
  11. abveost

    abveost Peppy Member

    Joined:
    Dec 15, 2014
    Messages:
    321
    Likes Received:
    56
    Thanks. I suspected that was it based on comparing a few games. By any chance do you have more details on the peripherals data? It's relatively large chunk of data and I imagine it might have interesting info.
    Everything I've checked has this on track 3. But that might just be because of the way my dumps were done. Any idea why that is? I would have thought this stuff would be in a fixed location as it's probably the first thing the console reads. I did consider the possibility that it might not always be in track 3 and wrote something to get the list of files from the gdi and check for "SEGA SEGAKATANA" and use that as a start but I'm not using it.

    Would anyone be interested in the scripts I made? They're just a few dozen lines of bash glue that convert, shrink, sort and generate a LIST.INI and disc.cdi from a specific set of dumps from/to hard coded locations. But they work very well for that and could easily be adapted for other uses. They work on Windows if you have all the dependencies. It also has an option to convert the menu to Sentence Case, just in case you're not in a DOS 8.3 mood.
     
  12. darcagn

    darcagn Site Supporter 2013, Site Supporter 2014

    Joined:
    May 13, 2007
    Messages:
    561
    Likes Received:
    296
    Peripherals data is defined here: http://mc.pp.se/dc/ip0000.bin.html

    tracks 1 and 2 are the low density tracks read in a PC drive. They can be discarded, the real game data starts at track03 as the high density part of the GD-ROM starts with track03. You definitely will ALWAYS find this data there on every single disc in existence.

    However, while the track03 header is the 'real' copy of this information, it should also be repeated in track01 as well.

    I'd be interested. Not everyone uses Windows so perhaps it can be cleaned up and released as an alternative for Mac/Linux users.
     
  13. abveost

    abveost Peppy Member

    Joined:
    Dec 15, 2014
    Messages:
    321
    Likes Received:
    56
    Again, thank you so much. I probably spent half an hour googeling for that information and and came up with bupkis. Also good to know I can rely on the header being in track 3. I'll set up a git repo for the scripts. They should run on OSX. I didn't even consider that Mac users are probably SOL when it comes to an SD maker. As are all the windows users who get unhandled exception errors with the closed source SD card maker.
     
  14. -=FamilyGuy=-

    -=FamilyGuy=- Site Supporter 2049

    Joined:
    Mar 3, 2007
    Messages:
    3,097
    Likes Received:
    1,046
    There's a very basic Linux (and probably macOS? I think it's mono/C#?) SD maker that only builds the list from a SD card root. But it's not very practical; I personally used it to create a base list and then modified mine manually.

    So your scripts are very welcome! Thanks!
     
  15. -=FamilyGuy=-

    -=FamilyGuy=- Site Supporter 2049

    Joined:
    Mar 3, 2007
    Messages:
    3,097
    Likes Received:
    1,046
    There's a very basic Linux (and probably macOS? I think it's mono/C#?) SD maker that only builds the list from a SD card root. But it's not very practical; I personally used it to create a base list and then modified mine manually, using gditools to extract the cdi and cdi4dc to rebuild it.

    So your scripts are very welcome! Thanks!
     
  16. Anthony817

    Anthony817 Familiar Face

    Joined:
    May 12, 2010
    Messages:
    1,124
    Likes Received:
    596
    Holy shit that is really unique and a pretty great idea! I do really like this as now there is no need to have to ever reopen the console again in a few years to replace the battery unless you have to sand down the contacts on the PSU pins due to oxidization. Just an FYI, but it is always a good idea to do that with any ODE solutions as 20 years of oxidization has fucked me on more than a few consoles. Sanding the pins down gave me 100% successful boot rate with GDEMU. Before that it was pretty touch and go.
     
  17. abveost

    abveost Peppy Member

    Joined:
    Dec 15, 2014
    Messages:
    321
    Likes Received:
    56
    I can't promise the scripts are any less basic or will even work on your setup but they're open source so anyone can tweak them to fit their needs. I'm writing up a short read me, mostly about the dependencies and will add a getopts bit so paths don't have to be hard coded and do some tests and try to upload this weekend. Try not to laugh/cry too hard at my mess.
    There are x scripts
    dcc - goes through all files in a folder, unzips them ony my one to tmp, converts from redump to normal, shrinks, and moves the folder the output path, ie your SD using a sequential 2 digit directory name. Obviously not everyone will be using zipped redumps so those steps should be options.
    reorder - rename directories name \d\d excluding 01 based on the name in track03.iso in each folder
    build_list-ini - create a list ini based on the data in track03.ini for each of those directories.
    mk_menu - build a gdi using the gdmenu IP.BIN and LIST.INI
    At some point a wrapper to do this all from a single command would be useful. It requires bash with some basic standard commands, mkisofs, cdi4dc, node+gdi-utils and python+gdiutils. Probably more hassle than most people would be willing to go through so bundling everything required together into one portable folder would be ideal.
    Also, I'm going to either switch to 3 digit directory names or add an option to choose between 2/3. I'm going to test this on a 256 or 512GB SD which will hopefully be able to fit the entire library.

    Not sure why everyone didn't include what seems like a simple common sense feature and I suppose I could have just cut a hole in an existing tray but I like to make things difficult for myself.
    The first GDEMU I got caused the PSU to explode. Cap juice all over the place. So I had to thoroughly clean everything anyway when I repaired it. Gonna switch to a pico before I close it al up for good anyway. It wasn't an official GDEMU, just to be clear about that.
     
  18. darcagn

    darcagn Site Supporter 2013, Site Supporter 2014

    Joined:
    May 13, 2007
    Messages:
    561
    Likes Received:
    296
    It's a fantastic idea but I think the reason it hadn't been done is because it requires soldering and I'd imagine a lot less sales for any GDEmu tray that requires soldering. And most people designing trays probably want to be able to sell/share it. Still, somewhat surprised this hasn't been done yet by someone at least for themselves, til now.

    Further thoughts: if you are going to do microSD, you should have enough space to use a different type of battery than the annoying ML2032. I wonder how long a pair of alkaline AAAs (with a diode to prevent recharge) in series would last. This is assuming it'd be the correct specs, I'd have to check that 2 AAAs would work. The tray could just have a disc swap button, a microSD slot, and a pair of AAAs, maybe even AAs if there's enough comfortable space. I imagine they'd last years? I'd rather change a pair of AAAs or AAs every couple of years than constantly mess with ML2032s, even my DCs with ML2032s sometimes lose date if I haven't turned them on in a while.

    Even further thoughts: It's annoying that the Dreamcast only charges the battery when powered on, not whenever it's plugged in. For people who have PicoPSU/DreamPSU type PSU alternatives installed, the Dreamcast would have 12V DC available inside the case even when the console is powered off. Theoretically someone could use that 12V DC and design a circuit to keep the clock alive without the need for a battery just like a PC CMOS battery operates (those aren't rechargeable), it only drains the battery when unplugged.
     
  19. abveost

    abveost Peppy Member

    Joined:
    Dec 15, 2014
    Messages:
    321
    Likes Received:
    56
    There's actually no soldering involved in the setup I'm testing. The battery clip is actually two clips. One goes into the tray and the other clips on to the old battery. Even the terminals are crimped, although arguably crimping is going to be more difficult and require a tool fewer people have than soldering. But if I was selling the thing I'd just include the pre-made cable with clips on both ends. At least as an option for people who didn't want to solder. I'm big on 100% reversible mods so it was one of the first things I considered.
    There's probably enough room for an AA battery compartment if you mount the SD socket in the front horizontally. Or if you move the button. I wish the GDEMU had a header for it but some test clips could do the same job. In my original design I was going to move it to the front of the tray but decided not to bother once I worked out how to get everything on a large SD without taking 2 hours to load the menu.
    Whether you have a pico or not you can still charge the battery while the console isn't on. It's just a question of whether you tap into whatever voltage AC and convert to 3VDC or tap into 12VDC and convert to 3VDC. I'm still not sure what I'm going to do as far as the battery. I guess it mostly depends on how long my CD2032 lasts. My main concerns are availability, how easy it is to change and I guess cost. On one hand I'd like to use a rechargeable part but on the other hand I'd like something you can walk into any shop and buy. I considered a drone battery as they're cheap and would last ages but prefer something small I can just pop in. I'm leaning towards a LIR2032 with a charging circuit right now but that's a bunch more parts. I'm very interested in hearing other ideas and suggestions as I really don't have an answer on what the best solution is.
     
    Rocky5 likes this.
  20. abveost

    abveost Peppy Member

    Joined:
    Dec 15, 2014
    Messages:
    321
    Likes Received:
    56

Share This Page