EverSD (Hardware)
Official GBAtemp Review
Product Information:
- Official Store: http://EverSD.com
Homebrew is the formal name given to the ability to run your own code on a device that you own. Homebrew can take many shapes and forms, such as applications to do things you cannot natively do with the stock hardware, or modifications to enable alternate or improved features of the device in question, typically via software. Hardware device's to enable homebrew have had a resurgence in recent years with Krikzz' Everdrive range of carts spurring on preservationists and modders alike for a long while now, but while devices made to enable homebrew invariably enable piracy, how can the EverSD add value to the Evercade, and what homebrew is even available? The EverSD homebrew and development kit for Evercade is a device that purports to unlock your "Evercade to the max", but what does it do and why should we pay attention? Having used it for a week now: I'll show you!
- Use your MicroSD/TF (up to 256GB) (MicroSD not included)
- Use as a development kit
- Play multiple homebrew games
- Emulate even more consoles
- Use save states
- Backup and restore your save states
- Use your own wallpaper when selecting your game
Upon receiving the EverSD I was immediately greeted by a superbly laser-cut logo emblazoned on the box. The simplicity oozed from the box, it was plain white, but packaged incredibly well for the products illustrious journey to my house. Unpacking the EverSD I was suitably impressed by its super lightweight feel, the solid SLS 3D printed body, and the label on the front mimicking perfectly the original Evercade carts style. The texture of the SLS, or Selective Laser Sintered, plastic is a little granular with a smooth yet micro-textured feel to it that isn't unpleasant but definitely isn't the same feel as a legit, highly polished, smooth, Evercade cartridge.
As with my recent review of the Evercade, I was concerned about the tight fit of this cart and how easy it would be to insert and eject. To my surprise, the fit was actually better than that of the retail cartridges thanks to it being that ever so slightly smaller than the norm. That said, the EverSD cartridge is a smidge thicker by about half a millimetre and slightly taller by approximately the same amount. The result is a cartridge that you can easily grip onto and easily eject and insert without the fear of crushing the device every time you swap it out.
The unit comes as is, with no SD card and obviously, no ROMs or emulators included. Thankfully the site offers a download for the core selection, and you can pretty much use any micro SD card you like up to 256gb in size. As users have speculated this device is effectively a Micro SD card reader connected to pins that take advantage of the Evercades lack of sophisticated antitamper measures, but it has to be said: It works flawlessly and it's so simple to use. The basic methodology is this: The Evercade runs and boots a custom Linux OS based on Arm V7 Neon, which I believe is deployed due to its robust ability to optimise the CPU instructions for performance, the cartridges contain a launch.sh file to instruct the contents to be read and effectively; an emulator and a ROM is deployed with arguments/commands to run upon selection. The EverSD builds on this system but replaces the built-in, per-cart, emulator with a bountiful collection of 13 in "X:\EMULATOR", and allows you to add and replace the ROMs you can select, at will.
- 0.so = PC Engine - Supported file extension:.zip
- 1.so = NES - Supported file extension:.nes, .fds
- 2.so = Atari 2600 - Supported file extension:.a26
- 3.so = Atari 7800 - Supported file extension:.a78
- 4.so = SNES - Supporting file formats:.sfc, .smc
- 5.so = Genesis/MegaDrive - Supporting file formats:.smd, .gg, .bin, .gen, .md
- 6.so = GameBoy (Color)/Advance - Supporting file formats:.gba, .gbc, .agb
- 7.so = Playstation 1 - Supporting file formats:.ccd, .img, .sub, .pbp, .iso
- 8.so = Famicom - Supporting file formats:.fc
- 9.so = Atari Lynx - Supporting file formats:.lnx
- 10.so = Sega Master System - Supporting file formats:.sms
- 11.so = Wonderswan (Color) - Supporting file formats:.ws
- 12.so = Nintendo 64 - Supporting file formats:.n64
The way the Emulation works is that when a ROM is loaded the correct core is engaged according to the file extension. So for example, if you wanted to run a PSX game, you would have to convert the file to a suitable file type (preferably PBP) and the PS1 core, PCSX ReARMed, is booted and the image loaded. Its a clever method that works thanks to the compatibility of the core with the 1.2GHz Cortex-A7 quad-core hardware, and it means that technically any "*.so" Linux cores built under ARMV7-NEON-HF should technically be compatible depending on performance: including Retroarch itself, and swapping them out with core "0.so" automatically enables "*.zip" compatibility. Due to the fact that does not use any form of "custom firmware", this hardware method is restricted to the way Evercade legitimately operates, so the only location you can plant your ROMs is in "X:\GAME" and without Retroarch running you have no control or configuration over trying to customise this format.
Everloader is the software provided to add cover art and detail to your ROM collection. This software curates your selection by adding box art, a screenshot, publisher logo and title/game info to the game select carousel. The information you add can be anything you like, such as the name of the game as the title (as long as it's under 30 characters), with the subtext (43 characters) being the genre and or year of release, or you can just put whatever you like there as its entirely free form. The onus is on you to not only obtain or dump your own ROMs elsewhere but also to find the cover art and decorate it with the additional info. I made a few suggestions to the developers in order to make it simpler to use, so I can't wait for their feedback to see if it comes to fruition. The developers of EverSD were very open to suggestions and incredibly fast with feedback and support, I cannot express just how great they are, it has been fantastic to converse with them. One suggestion I made due to how Evercade loads cover art was the ability for Everloader to rotate landscape box art to portrait in-app. The ability to do this would alleviate people having to scour for portrait SNES box art for example and would be a nice little feature to make your collection uniform without the need for extra tools or knowledge. Another suggestion I made was that the rounded effect applied to the artwork be a toggled option. In my opinion it wasn't a great look for the UI and I personally prefer it to be squared off as per the preview in Everloader.
One oddity I found was that in Everloader you can select your "X:\GAME" folder and the game ROM itself from the dialogues, once you have set up the artwork and click generate, the contents are exported to your game folder ready for use, however the ROM is not transported to the SD card along with them. Apparently the ROM is purely used for the naming convention of the art files, which makes sense, but also would make sense to be copied across too. Sure, you could copy all your ROM files across to the X;\GAME folder beforehand, in preparation, but you would have to go through each one to add artwork anyway. I made the mistake of using an existing folder of ROMs on my desktop as the source file thinking it would copy the ROM and the artwork to the "X:\GAME" folder, but it doesn't. Perhaps this feature should be made possible by Everloader too, as to me it seemed like the obvious thing it needed to do.
When Retroach first appeared back in 2010, I remember the farore caused by people trying to scrape box art. Since then, a decade later, packs exist for ever system, configurations and optimisations have been shared and curated to make everyones life easier and to quicken the thrust into immediate enjoyment and usability. This is where the EverSD needs to catch up, but unfortunately and understandably due to legality, there are no prepared art packs and no pre-detailed rom information banners to be used, so everything has to be made from scratch. I started adding artwork to my selection by finding a coversite, locating a suitable screenshot and publisher logo, and then filling out the information, uniformly, from memory. Each one took me roughly 2-3 minutes to search, find, compose and generate, but if you had a 256gb packed full of ROMs it would take an eternity to finesse each one and get everything uniform. It would be great if Everloader could tap into the existing site scrapers or the databases retroarch uses to add date/genre/system information to somewhat automate some of the tedium of the artwork/info process. FWIW if you don't add any artwork or anything to the ROMs on the EverSD you are met with an entirely blank carousel that says X number of games but doesn't even display the ROM's name or anything, its all a blind guessing game until you hit "START". Perhaps this is a call for the Evercade community to work together on some smart CFW styled UI that can at least scan the ROM's name and use a generic image when you don't have everything required in place.
I decided to test a game from every possible emulator to push the replaced-emulator-system to its limit. The devs have certainly gone a good way to ensure the emulators are compatible, and perhaps they mainly used existing emulators from dumped Evercade carts to start their selection, but the offerings from 8-Bit to 32-Bit are absolutely superb. Starting off with basic Amiga games, they played as well as the original Evercade carts do, and thanks to the ability to load any ROM you like you can boot up homebrew games and a more meaty selection of games than the 40 Atari offer legitimately. For starters, there are 584 officially licenced first and third party games on the 2600 and the 7800 combined! Moving on to the Atari Lynx, which is an Evercade cart I have not yet purchased, I managed to get every game running perfectly including the Alien Vs Predator Prototype game. The sound and colour is spot on and the framerate was incredibly playable, if not perfect. NES games and FDS games boot flawlessly with absolutely no slowdown or stuttering which is superb. Just the ability to play Mario games on the Evercade is something I don't think we will ever see legitimately thanks to strict intellectual property licensing and, well, Nintendo. The games run smoothly thanks to the Nestopia core, and the gameplay is as great as you can remember through those rose-tinted spectacles. Game Boy and Game Boy Color games ran absolutely flawlessly too, which was to be expected as they too have relatively low overhead and are easy to emulate well on almost any hardware.
Sega Game Gear and Master System games ran admirably thanks to Genesis Plus GX's ability to handle all things Sega, and even the Genesis title such as Sonic & Knuckles ran at full speed with no out of tune sound effects and no notable slow down, even at supersonic blazing fast speed. Super Nintendo titles run incredibly well. I thought I would try to trick it by launching Super FX chip centric titles such as StarFox and Yoshi's Island. To my surprise, they ran very well with just a little slowdown or stutter when scaling and transitions occurred.
Moving on to some more modern consoles, the GBA emulation is a mixed bag. The sound is a little hissy, but the frame rates are solid. mGBA is the core used here and for some reason the sound is offputting. Being able to play The Legend of Zelda - Minish Cap on the go without ever having owned a GBA is a huge draw, but unfortunately, the sound issue was driving me a little crazy after just half an hour of gameplay regardless of the game. PSX games work great once you have the format right. Cue and Bin files have to be converted to PBP, IMG or ISO ideally to run and though the sound does suffer a little because its a little stuttery at times, games such as Croc and Crash Bandicoot ran brilliantly with no game-breaking slowdowns. Tekken 3 is one of my all-time faves and having it in my pocket at all times is exceptionally appealing. The game runs well overall with very minor framerate issues, but the sound has a few crackly moments when loading happens. It's extremely enjoyable and very fun to have to hand when travelling, especially with Tekken Force and Gon unlocked and fully playable!
WonderSwan colour games didn't work well for me at all. Trying Judgement Silversword (.WSC renamed to .WS) the controls were all over the place. Perhaps it was because I tried a vertical shooter the controls were badly mapped. I later discovered that hitting "Select" changed the orientation of the screen and it played perfectly horizontally! Trying Kaze Klonoa (.WS) I managed to get in-game and the controls worked fine but the sound was crinkly and the game felt slower than it should be. Not the best emulator on the system that's for sure.
Nintendo 64 is an absolute no go. As mentioned in the documentation it is extremely slow. I attempted to load the recently fixed Mario 64 ROM with -02 lag-free fixes in the hopes of slightly better speeds that it should be capable of, but alas it was around 3-5fps at best, and therefore totally unplayable. Even the "It's-a me, Mario" boot up screen takes 5 times longer than it does on proper hardware, and if you can endure getting in-game, there is no analogue stick so you can't move anyway!. Let us be realistic here, the N64 is a pain to cycle accurately emulate on even the best hardware available in smartphones and android devices today, so the chances of it working, at all, on this were slim to none. Pair that with the fact that the Evercade has just six buttons and a D-Pad so N64 emulation is highly unfavourable on this device, especially without an option to remap buttons. Exiting out of the N64 emulator by pressing the Menu button or Select and Start together also doesn't allow for any save states or screen options.
In general, save states work perfectly for 99% of these emulators and games, which is a godsend in some of the tougher games with tricky jumps such as the Croc games. It's just a shame that we cannot enable scanlines or filters yet, as some of these games could benefit from a little emulation pizzaz.
By simply swapping out the 0.so emulator you can load any format ROM as long as it is zipped. Grabbing the cores compiled on Libretro's buildbot (here) I discovered a few more cores that worked and plenty that definitely won't. I wanted to get a grasp on capability and compatibility, so I didn't try testing cores that already work well, nor did I try cores for things like 2048 or SCUMMVM, so here is a summary of my findings across 10 diversely chosen cores:
(Note: ejecting the cart on the main menu prompts you to reinsert the cartridge, but adding ROMs and reinserting doesn't update the selection, it just messes up the order of the ROMs until you power off and on again).
- FBAlpha2012 works almost perfectly, sometimes a little crackle depending on the ROM and SELECT adds credits fine.
- Virtual boy via mednafen_vb_libretro worked ok, games such as Wario Land booted just fine but there was definitely slowdown and crackly sound throughout.
- Cap32 boots games but I couldn't use the input console to get in-game.
- DSEMUME booted up New Super Mario Bros and the framerate barely hit 5fps with stuttery sound. I didn't expect this one to work well anyway but the screen is cut in half giving you a paltry 480 x 136 per screen.
- FBNeo worked great for Metal Slug 5 as a quick test. After a long load time, roughly between 20 and 40 seconds per boot, you see the typical Neo Geo green loading screen and bingo; you're in-game. The neogeo.zip bios is not required to play either, which makes it even simpler to set up!
- Mame2003 wouldn't work at all, unfortunately. I feel like this should work, but I'm unsure of the required configurations to make it happen.
- NeoCD didn't wat to start even with bios files present.
- PrBoom didn't want to know, with or without the WAD zipped, even though it did create a CFG file in a PrBoom folder in the root, I have a feeling this may work, I just don't have a clue how to take it further.
- Pokemini worked perfectly. I didn't realise there were so many little games for it!
- Virtual Jaguar loaded games up to their menus, for example, it loaded AVP extremely slowly, allowed me to select a character and then went no further. Tempest 2000 booted and died instantly.
My findings conclude that there are a heap of systems that have a mountain of games between them that can be confidently added to the list of working emulators. FBA and FBNeo alone add some stunning games with an accumulation of around 12,000 more potentially playable titles! Pokemini has at least 10 more games playable, and though its a little slow, Virtual Boy via Mednafen is quite enjoyable and adds another 22 games to the list. I have no doubts that of the 89 cores available in the buildbot plenty more will work, but of those, I am unsure how any will work well enough to label them as definitively "working" and fully playable.
EverSD has some compatibility issues on Firmware 1.3.0. This is known by the EverSD team and they are looking into this matter.
For now, you can reinstall and downgrade back to firmware 1.2.0 without any issues. Having used a 64GB card to test, I had more than enough space to sample a variety of games, and there is no doubt you could have thousands of games (ROM sets) on a card that size, with artwork and even the SRAM saves and associated files for more complicated emulation. Considering that the official cartridges use just 128mb flash storage for their 10-20 games collections, the future is bright with the EverSD developers continually outfoxing the hardware manufacturers in the game of cat and mouse they so love to put us through for the prevention of homebrew. With mumblings of custom firmware in the development, it's understandable for Blaze to try to protect their IP, but infuriating for people like me as I love having the option to tinker and run homebrew on every device I own. I for one would love to see scan lines and filters, for example, and I just don't think we will ever see that sort of feature rolled out officially.
In terms of native homebrew for the EverSD, this project is in its infancy and the offerings are bluntly rather scant. Technically there is the possibility to run Retroarch natively on this device using the ARM builds in snapcraft.io, however, there are no connectivity options on the Evercade so a pre-prepared version for SD card would be required to launch it but there have been no releases made available. There is even supposedly a port of Doom by SwingFlip, with a demonstration on his youtube channel, but thus far nothing has been shared and I couldn't make contact with him in time for this review. I'm sure one day the community and EverSD devs will boost the homebrew selection, but for now, the closest you can get to homebrew is trying out modified ROMs on each emulator, or even trying different cores to see which emulator runs. It may seem rather niche to want to go through all this experimentation and customisation for each ROM, but it's downright fun experimenting and trying it all out. The EverSD is an enthusiasts toy, a tester/tweakers dream, and once you have a rhythm with the Everloader software; it's a joy to use. I personally highly recommend this product as a fantastic addition to your Evercade console as it blows it wide open and no doubt has an excellent future ahead of it once Retroarch is fully usable.
Verdict
- Super simple plug and play functionality
- Expands your handheld library exponentially
- Adds additional emulators to your device
- Perfect for homebrew and developing
- Everloader has room for UX improvement
- No native homebrew available yet beyond emulators