EZ Omega (with Pogoshell) Alpha

Discussion in 'GBA - Flashing Hardware and Software' started by kuwanger, Jul 9, 2018.

  1. kuwanger
    OP

    kuwanger GBAtemp Maniac

    Member
    9
    Jul 26, 2006
    United States
    So, as promised (sort of) this is my progress so far with adding Pogoshell plugin support to the EZ Omega. This is a beta version and mostly working. From some limited testing, some plugins don't work (eg my maxmod based plugin). I'm not entirely sure of the reason, but I may look further into it.

    For those adventurous enough to play around with Beta software and risk bricking your EZ Omega (not sure how likely this actually is) or corrupting your memory card (probably decently likely if you try hard enough, but that's probably not my fault), here it is:

    WARNING - Don't use this unless you want the risk of bricking your EZ Omega

    omega kernel firmware v6 kernel 1.04 pogoshell support (beta4)

    To install:

    1) Copy omega-kernel.gba to the root of your microSD as ezkernel.bin
    2) Hold R to update ezkernel.gba (it'd be a good idea to keep a copy of the official ezkernel.bin around when done testing)

    To use:

    1) Create a "plugins" folder in the root of your microSD
    2) Copy each plugin into "plugins" and rename them to the extension of a file you'd like to run through the plugin
    (ex. rename "gbavgmplayer.gba" to "vgm.gba")
    3) Supported plugins are bin/gba and mb. mbz is not supported and will require being decompressed
    4) You cannot override existing file extensions supported in the kernel (aka gba, nes, gb, and gbc)
    5) Copy files for use with plugins on the microSD card and rename their extension appropriately.
    (ex. if you renamed "goomba_paletted_240_with_lots_of_palettes_and_borders.gba" to "gbb.gba" then rename
    "game.gb" to "game.gbb")

    For those interested in doing testing and reporting here, please include what plugin you tested, if it worked, and whether it worked as ".gba", ".mb", or '.mbz".

    Also, be aware that there's a save corrupt risk using exit patched loopy/flubba emulators if you use Exit. If you don't want to go through the effort of finding/patching emulators, simply go to the L+R menu and wait a few seconds to let the EZ Omega save and you can turn off your GBA/Power Cycle.

    Changelog:

    Alpha - Some stuff working
    Beta - Added Pogoshell filesystem stuff in PSRAM - more stuff working
    Beta2 - Don't use memset after SetRompage() - more aggressive soft resetting - more stuff working
    Beta3 - Update to firmware 3/kernel 1.04. Move plugin check up so you can override the built-in emulators (and .gba actually)
    Beta4 - Fixed .mb, hopefully

    Possible TODOs:
    Figure out why some plugins aren't working
    Remove some debugging stuff (color box after Writing)
    Do more extensive testing
    Hard code in patches for writeconfig() for various emulators
     
    Last edited by kuwanger, Oct 21, 2018
  2. FAST6191

    FAST6191 Techromancer

    pip Reporter
    23
    Nov 21, 2005
    United Kingdom
    Had you told me I would be seeing a new cart with pogoshell as a loader in 2018 I would not have believed you.

    For others playing along at home then back in the NOR era of GBA flash carts then Pogoshell was the thing many wanted. If your flash cart did not support it (a distinct possibility owing to technical reasons with handling lots of NOR, and it was rather limiting to only have 16-32 megabytes to play with as it is not like the GBA stands a chance of decoding ultra compressed audio or video files in real time) then it was a serious knock on that flash cart. As well as being a general shell for carts then Pogoshell acted as a frontend for all manner of cool multimedia plugins, emulator launchers and more besides. Some of which would not be replicated in standalone homebrew for many years afterwards, and in some cases it might still be better than some of those standalone programs which attempted it. A lot of said plugins could be used with a wrapper later made by kuwanger above http://kuwanger.altervista.org/gba/plugin2gba/ but this should hopefully allow you the chance to use it all "natively".

    Looks like I might have to do the roundup post of developments using Omega source sooner than I had though.
     
    Madridi and tiduscrying like this.
  3. EZ-Flash2

    EZ-Flash2 Official EZ-FLASH Stuff

    Member
    7
    Jul 16, 2003
    China
    It’s great to see the community responding in such a short period of time.
     
    enarky, Madridi, Aldoria and 3 others like this.
  4. kuwanger
    OP

    kuwanger GBAtemp Maniac

    Member
    9
    Jul 26, 2006
    United States
    A relatively small update. Spent some more time working on the SoftReset code to hopefully increase compatibility with plugins. Also added in fake Pogoshell root filesystem support which various loopy based plugins need to function properly in Pogoshell mode. This should in theory make all plugins work, but there's undoubtedly some outliers (and I know my own maxmod based mod-converted player plugin doesn't work properly).
     
    Last edited by kuwanger, Aug 1, 2018
    zfreeman, tiduscrying and Axel-MaV like this.
  5. shoust

    shoust Newbie

    Newcomer
    2
    Mar 14, 2009
    I've given this a try and for me it only really works in one or 2 emulators that I've tried. Couldn't get SMSadvance to work, but got PCEAdvance to work.

    I played the PCeAdvance emulator with a Bomberman game which loaded, other games however tended to get stuck at the writing screen. The other game I got with the same emulator is bonk's adventure, that has the same problem as the other non PCE games. It'd get to the writing/loading screen and a blue bar appears on the bottom right corner and stays there until I turn it off.
     
    Last edited by shoust, Jul 31, 2018
  6. kuwanger
    OP

    kuwanger GBAtemp Maniac

    Member
    9
    Jul 26, 2006
    United States
    Out of curiosity, what form did you use SMSAdvance--.gba or .mb? What version did you use? What specific plugins (with versions) have you tried and as .gba or .mb? I'm glad you've done some testing, but it'd help me to reproduce the problems and possibly fix them if I knew what you were testing. :)
     
  7. shoust

    shoust Newbie

    Newcomer
    2
    Mar 14, 2009
    Sorry, this is what I've been using, Smsadvance.gba renamed to sms.gba, version 2.5, PCEadvance 7.5 renamed to pce.gba. I was testing Bomberman 93 on it which worked despite having a "crashing" screen before loading. On Gameboy micro.
     
  8. kuwanger
    OP

    kuwanger GBAtemp Maniac

    Member
    9
    Jul 26, 2006
    United States
    At least for the moment, rename sms.gba to sms.mb--I don't think it's working as .gba. I don't believe pceadvance supports multiboot. In general, though, you can try renaming most plugins to .mb to see if they'll work as multiboot. Checking with PCEAdvance I'm seeing the same thing with some games working and some not where file size doesn't seem the determining factor. I'm not sure if it's the way I'm doing the soft reset, so that would seem odd because it would presumable always/work fail for a specific plugin. My only other suggestion is to try with Plugin2GBA and see if you get the same sorts of results or not.

    Sorry that the above isn't too helpful. Part of the issue is that GBA games/plugins can be very finicky when it comes to precisely what memory needs cleared to work. Another part is that plugins expecting Pogoshell may expect specific things in memory/ROM space and while I'm fairly certainly I have them setup correctly, it's been a long while since I worked on my Pogoshell fork so I could be getting some of that wrong. The final part is merely that it's a tedious retry cycle (alter kernel, update kernel, test game) that I basically stopped once I got it mostly working on a few test plugins.

    Thanks for some good test cases, though. If/when I do more work on it, I'll definitely try to make sure SMSAdvance 2.5 and PCEAdvance 7.5 are working more consistently.
     
    shoust likes this.
  9. shoust

    shoust Newbie

    Newcomer
    2
    Mar 14, 2009
    Thanks, I'll try renaming them to .mb when I get home, I've tried one or 2 other things beforehand though, I tried loading sms.gba outright, it loaded fine as you do without a game, also I tried Wonderboy in Monsterland for SMS and though the emulator loaded, the game didn't.

    On the plugin2gba thing, I've always been puzzled on how its supposed to work, is it like a frontend for building a compilation of files to gba format? Or is it so one can use a .gba file as a frontend for other files without combining them?
     
    Last edited by shoust, Aug 1, 2018
  10. kuwanger
    OP

    kuwanger GBAtemp Maniac

    Member
    9
    Jul 26, 2006
    United States
    plugin2gba creates a .gba by gluing together a plugin, various plugin files (ie .sms for SMSAdvance), something to setup all the pogoshell glue stuff, and a frontend if you choose more than one file. It's mostly intended for all the plugins that aren't emulators precisely because you can just make compilations with the normal software. In any case, since you gave me a few specific test cases, I've done a bit more work. Hopefully SMSAdvance (.gba, .mb, or .mbz) and PCEAdvance will work for you now.
     
    shoust likes this.
  11. shoust

    shoust Newbie

    Newcomer
    2
    Mar 14, 2009
    Thanks for the update, though I had to manually find the link to the update as the only link is to the first beta version not the second, most of the games are working now, ones that didn't load in the emulators for me were golden axe for sms, and bonks adventure for pce. Though I tested compiled versions on an emulator and they didn't load there either, so I'm guessing its more to do with sms and pce emulators themselves here. So in all its working much better now thanks :)

    Games I tested that worked fine:
    Bomberman 93 (U).pce
    Shining Force II.sms
    Shining Force Gaiden.sms
    Wonderboy in Monsterland.sms
    Chuck Rock 2.sms
    Sonic 1.sms
    Sonic 2.sms
    Phantasy Star.sms
    Road Rash.sms
    Alex kidd in miracle world.sms
     
    Last edited by shoust, Aug 1, 2018
  12. kuwanger
    OP

    kuwanger GBAtemp Maniac

    Member
    9
    Jul 26, 2006
    United States
    Sorry about that. i wrapped the link with a new url but apparently it didn't actually accept that. I had to end up going into the bb editor for it to show up properly.

    It's odd because Bonk's Adventure is actually listed as working in PCEAdvance's gamelist. I don't see Golden Axe listed for SMSAdvance, but then that list is pretty empty so it's hard for me to know. But yea, neither emulator is 100% compatible so there's always a chance it's the game not my fork. So, thanks for testing that.

    I know my current version isn't perfect. One issue is some things that are multiboot (.mb) won't work when define as such. Still it seems a lot better IMO than it was. One thing I'm worried about is that I may have broken cheats on normal .gba games. I might go back and check/fix that at some point.
     
  13. shoust

    shoust Newbie

    Newcomer
    2
    Mar 14, 2009
    Got Bonks Adventure working in the end, the version I had was encrypted so had to decrypt it, now loads fine :)
     
  14. shoust

    shoust Newbie

    Newcomer
    2
    Mar 14, 2009
    I have a suggestion regarding the Pogoshell plugin interface, would it be possible to make a plugin serve multiple filenames at once? For example: filename in plugins folder "sms&gg&sg.gba" would run Master System(sms), GameGear(gg) files and SG-1000(sg) files using SMSAdvance. Currently at the moment I've just got a copy of the same emulator renamed.
     
  15. kuwanger
    OP

    kuwanger GBAtemp Maniac

    Member
    9
    Jul 26, 2006
    United States
    Such wouldn't really be impossible, but if I were to add a feature like that I'd probably add a text file for mapping purposes. So, sms.txt containing "SMSAdvance.gba". The major reason I'd consider it is to preserve version information. I don't think the space savings are too important.

    However, I'm tempted to make the save names to include the extension: so Tetris.nes.esv, Tetris.gb.esv, etc. By the same token, I'm tempted to allow overriding the built-in emulators (so nes.gba, gb.gba, and gbc.gba takes priority). Option b would be to have a separate folder per extension (so saver\nes\Tetris.esv) or do something like a postman sort for saves (so saver\t\Tetris.esv) to better isolate saves and generally speed up access/creation.

    There's probably a slew of other good ideas. I might get around to implementing them eventually, but my main motivation is merely to get the Pogoshell support working as best as possible.
     
    mitch200584 likes this.
  16. kuwanger
    OP

    kuwanger GBAtemp Maniac

    Member
    9
    Jul 26, 2006
    United States
    New version patched to the latest firmware/kernel (v6/1.04). Allow overriding build in emulators. Replaced the Makefile so I can actually compile the thing under Linux.
     
  17. pasc

    pasc GBATemps GBA Freak

    Member
    5
    Sep 9, 2006
    Germany
    Germany
    Same here, I used to think back in the days "Wow, Pogoshell looks really nice, IF ONLY we had some memory card to play with.

    Props for trying, eagerly awaitung this to be cool(er)!
     
  18. kuwanger
    OP

    kuwanger GBAtemp Maniac

    Member
    9
    Jul 26, 2006
    United States
    If you want to try it out, please do. The "bricking" warning is there because while I've done a reasonable amount of testing and I can't imagine there's anything I've done that could induce a brick, there aren't exactly a lot of people chiming with their own experiences to confirm. It'd also be useful to know if there's any plugins that don't work correctly or that do. Like shoust's comments, it's basically the only thing motivating me to work more on it. Otherwise, it's likely to just keep being updated whenever the mainline does.
     
  19. Dahak

    Dahak Newbie

    Newcomer
    1
    Sep 26, 2018
    United States
    I still have PogoShell running on my old Flash Advance Xtreme. Seeing this being done has finally made me decide to order a EZFlash Omega. Looking forward to testing this out, and seeing if Cologne will run on it!
     
  20. kuwanger
    OP

    kuwanger GBAtemp Maniac

    Member
    9
    Jul 26, 2006
    United States
    A quick test of an old Pogoshell plugin I have lying around seems to work fine. Admittedly I only tested one game. :)
     
    Dahak likes this.
  21. Dahak

    Dahak Newbie

    Newcomer
    1
    Sep 26, 2018
    United States
    That's convincing enough for me. ;) My Omega is expected to arrive Saturday, so I'll be testing a whole bunch of them.

    Will I be able to just flash your kernel as the initial required one, or will I need to flash the official one first? Brick warning aside, my experience with your updates to Loopy and Flubba's plugins back in the "old days" tells me that your work is probably stable, so I figure if I can jump right in with yours, all the better.
     
Loading...