ElysianVMU: Open letter to authors of Dreamcast emulators

Discussion of topics related to licensed games, software hacking/modification, prototypes, and development kits belongs here. Includes topics related to emulating the Dreamcast console on your computer or on another gaming console. Discussion of Reicast should go in the Official Reicast Forum.
Post Reply
GyroVorbis
Elysian Shadows Developer
Elysian Shadows Developer
Posts: 1876
https://www.artistsworkshop.eu/meble-kuchenne-na-wymiar-warszawa-gdzie-zamowic/
Joined: Mon Mar 22, 2004 4:55 pm
Location: #%^&*!!!11one Super Sonic
Has thanked: 82 times
Been thanked: 64 times
Contact:

ElysianVMU: Open letter to authors of Dreamcast emulators

Post by GyroVorbis »

This is a letter I wrote to an author of a very well-known Dreamcast emulator. I realized that I may actually be better off posting this to the whole community, because I don't know which emulators are most used, which ones are active, and which ones have developers who would be willing to work with me... I'm also wanting to see what requirements they would have of me.

I am VERY interested in this, and I REALLY think it has huge potential for the Dreamcast scene.
Original Letter wrote:Heya guys, Falco Girgis here. I'm the lead developer of the Elysian Shadows RPG (cross-platform 2D/3D "Next Gen" RPG for Dreamcast, Steam, mobile, OUYA, etc) on Kickstarter and I'm the dude from Adventures in Game Development on YouTube.

You might not know, but as part of developing Elysian Shadows and our cross-platform SDK, I've developed a massively-cross platform VMU emulator (ElysianVMU) that will allow people to enjoy Dreamcast-specific VMU content on any device... For example, if you bought ES for steam, you can connect remotely to your iPhone running our EVMU app and it will be used as an additional screen with full filesystem support and even the little beeps, haha.

We also have already created hardware for interfacing a Dreamcast controller with a PC over USB through the ElysianVMU emulator so that when you play the Steam version of Elysian Shadows, you can also use a REAL Dreamcast controller and VMU to get the authentic DC experience.

I've made it my personal mission to make EVMU THE number one emulator for the platform and have gone all-out OCD with implementing a billion features, emulating everything perfectly, very low system requirements, perfect timing, lightweight and low memory consumption, a bunch of built-in developer tools for debugging/developing for the VMU, and supporting every platform ever. Right now it's in open beta, but it pretty much supports everything and does a WHOLE lot of stuff I've never seen other emulators do.

Supports the Japanese BIOS packaged with the Katana SDK, so you can emulate the whole system including clock and filesystem mode.
  • Insanely accurate LCD emulation, including emulated refresh rate to accurately reproduce pixel ghosting effects and also the grayscale effect that a lot of very advanced VMU games used to create the illusion of multiple shades of black.
  • Variable resolution, ****loads of resolution modes.
  • 100% accurate buzzer support. Every emulator I've ever seen has half-assed the square wave generation. EVMU is so accurate it even reproduces the VOLUME of the wave, because the VMU does not output every wave at the same volume.
  • Export feature for VMS icons and eyecatch graphics.
  • Save/load state
  • .LCD File support for playing animations made with the DC Animator tool
  • .DCI Nexus support
  • FULL filesystem support, meaning you can load raw .VMU flash dumps of an entire VMU image with game AND save data.
  • VMU-to-VMU connection emulated over IP (mate chaos over the internet, lmfao) and even serial, because we're planning on releasing an adapter for connecting physical VMU devices to EVMU.
  • VMU-to-DC MAPLE connection emulated over IP.
  • Built-in assembler/disassembler and instruction-set reference for developers and disassembling VMU game code to reverse engineer it.
  • External USB controller support. Even support for the analog stick. Haha.
  • Emulates the "Low battery" signal of the VMU, which can be toggled on and off. Certain games actually give you special screens and notification when your batteries are dying.
  • Turbo Buttons
  • Speed Up/Slow Down Buttons
  • VMI/VMS Header file dumps

    The only other big thing that I still need to do is represent the filesystem in a GUI similar to what DreamExplorer is doing. The filesystem itself is already fully emulated and allows for access even remotely. and I plan to have a lot of very useful features like allowing you to easily drag and drop files.

    We're working on a project home page right now, but we have a thread with Dropbox links to downloads and feature requests and bug report discussion on the project home page:
    http://forums.elysianshadows.com/viewto ... 1&start=30

    In the Dropbox folder, there should be builds of the latest commit available for Windows, MacOS, Ubuntu, and the Raspberry Pi (because why not?) with more coming soon.

    I'm writing this as an open invitation for the authors of any Dreamcast console emulator to integrate and support ElysianVMU. I'm currently the process of writing a VERY lightweight, fast API for establishing a remote connection to an EVMU server over TCP/IP. It's my hope that you'll consider using our library to integrate with the ElysianVMU platform. I'm not sure whether the project is open source or not, or if you would be willing, but I would be more than happy to do the integration for you... All that would need to happen from a front-end perspective is a file menu item for "Connect to VMU Server" or something that allows the user to type in the IP address of their "ElysianVMU" host--whether it be localhost running as another window on the same machine or even your iPhone doubling as a VMU device... Hey, even could be the EVMU emulator running on Dreamcast with a BBA connection or the Raspberry Pi, haha. I'm also in the process of adding a power consumption and batter life estimation monitor too... See how shitty your code is on the battery life of the CR2032s. :lol:

    The reason I'm saying it would be trivial is because I'm actually emulating the Maple protocol over IP. You won't have to translate data into some proprietary bullshit form. You just use my API to submit the Maple packets over TCP. In the end this will wind up giving the following awesome features:
    • EVMU for storage/file management - DC games are just straight up accessing the raw VMU file system. Only difference is the maple packets are over IP. They will be able to transparently load and save to the VMU, which will allow the user the ability to manage their save files through EVMU with a full-fledged GUI that allows them to drag and drop other save files, format cards, unlock extra bytes, dump icons, hexedit files, etc. We also have plans for integrating EVMU with our web serve for CLOUD-BASED SAVE FILE STORAGE
    • EVMU for display - The player will be able to see all VMU graphics and in-game content on the EVMU window OR EVEN REMOTELY ON THEIR SMART PHONES. How awesome would it be to have the DC game on your monitor, and your smartphone propped up under it as the display? It'll also support the beeping and stuff. lol.
    • FULL MAPLE BUS SUPPORT - With the hardware adapter my buddy is creating, we're actually forwarding ALL of the Maple BUS over IP, which means DEmul will automatically be able to support all the peripherals--controllers, puru packs, light guns, fishing rods, mouse, keyboard, maracas, seaman mic, etc, etc.
    • Playing the same game on an emulator AND physical console: How convenient would it be to be able to move save files easily between an emulator and your physical device? VERY!

I really think this is something that DEmul, EVMU, and the entire Dreamcast scene could benefit from. I look forward to hopefully working with you guys to do something awesome soon!
GyroVorbis
Elysian Shadows Developer
Elysian Shadows Developer
Posts: 1876
Joined: Mon Mar 22, 2004 4:55 pm
Location: #%^&*!!!11one Super Sonic
Has thanked: 82 times
Been thanked: 64 times
Contact:

Re: ElysianVMU: Open letter to authors of Dreamcast emulator

Post by GyroVorbis »

Also, although I won't be able to personally integrate it with everyone, I want to let it be known that this offer stands for all Dreamcast and even non-Deamcast indie games.

There are a bunch of cross-platform games with Dreamcast targets that could totally benefit from this. I speak with Tulio of Watermelon all the time (and he's the one doing the hardware adapter), and they spent a lot of extra development time trying to get some of the VMU features on the PC so players don't miss out.

EVMU will save on development time for that and will transparently allow your homebrew to support the Dreamcast controllers, accessories, and VMU... Imagine the benefit for a game like Pier Solar if you could save to the VMU on the PC version... then could move over to the Dreamcast and load the same file.

It's even applicable to non-Dreamcast games who just want to support the controller or accessories for the hell of it... Who knows... maybe someone on Steam really needs to support a pair of Maracas... :lol:
law56ker
DCEmu Cool Poster
DCEmu Cool Poster
Posts: 1034
Joined: Wed Oct 17, 2001 7:44 pm
Has thanked: 0
Been thanked: 1 time

Re: ElysianVMU: Open letter to authors of Dreamcast emulator

Post by law56ker »

Sounds intriguing.
cube_b3
Ex-Newsposter
Ex-Newsposter
Posts: 4045
Joined: Tue May 28, 2002 6:51 am
Location: pakistan,karachi
Has thanked: 16 times
Been thanked: 7 times
Contact:

Re: ElysianVMU: Open letter to authors of Dreamcast emulator

Post by cube_b3 »

I watched your YouTube class presentation.
Respect.
User avatar
lerabot
Insane DCEmu
Insane DCEmu
Posts: 134
Joined: Sun Nov 01, 2015 8:25 pm
Has thanked: 2 times
Been thanked: 19 times

Re: ElysianVMU: Open letter to authors of Dreamcast emulator

Post by lerabot »

I currently use both lxdream and reicast (and the DC of course) to test some code I'm working on. I haven't started using VMU right now as my stuff is pretty bare bone, but I would defenitly be interested in using EVMU to test/debug whatever is gonna happen in the VMU.

I compiled reicast for linux, work ok. I wonder how much adaptation would be required to make EVMU compatible with it?

Anyway, I'm interested.
GyroVorbis
Elysian Shadows Developer
Elysian Shadows Developer
Posts: 1876
Joined: Mon Mar 22, 2004 4:55 pm
Location: #%^&*!!!11one Super Sonic
Has thanked: 82 times
Been thanked: 64 times
Contact:

Re: ElysianVMU: Open letter to authors of Dreamcast emulator

Post by GyroVorbis »

lerabot wrote:I currently use both lxdream and reicast (and the DC of course) to test some code I'm working on. I haven't started using VMU right now as my stuff is pretty bare bone, but I would defenitly be interested in using EVMU to test/debug whatever is gonna happen in the VMU.

I compiled reicast for linux, work ok. I wonder how much adaptation would be required to make EVMU compatible with it?

Anyway, I'm interested.
Oh snap, I didn't realize Reicast was open source? I could have a look and tell you exactly what it would take.

I am purposely just using the raw Maple protocol as the interface to EVMU, so it shouldn't require much extra work at all, and I'm planning on releasing a small, lightweight client library that manages connecting and interfacing with an EVMU host, so your'e basically just forwarding Maple packets to the EVMU TCP client API, which should hopefully be pretty easy.
GyroVorbis
Elysian Shadows Developer
Elysian Shadows Developer
Posts: 1876
Joined: Mon Mar 22, 2004 4:55 pm
Location: #%^&*!!!11one Super Sonic
Has thanked: 82 times
Been thanked: 64 times
Contact:

Re: ElysianVMU: Open letter to authors of Dreamcast emulator

Post by GyroVorbis »

Bump.

Been swamped with work on Elysian Shadows, but had to revisit EVMU in order to integrate with our own Engine (for PC/Smartphone testing of VMU features during development). Decided to spend a liiiiittle bit of extra time (I'm lying, I was up all night) doing the integration the RIGHT way, and rather than inventing some proprietary messaging system between a host device and EVMU, made it support actual raw Maple frames, so that existing Dreamcast emulators can also integrate with EVMU.

Basically it's done... You can now drive EVMU as a Dreamcast slave to emulate Dreamcast-to-VMU connectivity simply by connecting to an EVMU instance with an actively configured TCP server enabled (it's built-in) and then forwarding the maple frames for whichever VMU over TCP to EVMU. I cannot be sure it's 100% accurate without testing with an emulator, since I'm the one coding the other end in the case of Elysian Shadows, but it's probably extremely close and could be 100% in just like a day or so. Even talked to Quzar a bunch to make sure that I'm returning the same device info and extended device info Maple queries as a real VMU (expect for device name and version and all that, which is pretty cool!)

Problem is I will not have time to do the integration myself, and I haven't received really any feedback from any actual DC emulator developers... So here it is. EVMU offers FULL VMU emulation and is pretty close to having a fully functional VMU Explorer-style API, in addition to all of its Game Mode and emulation features, except it's fully cross-platform. VMU-to-DC communications support the whole array of maple functions (memory card, audio output, LCD display)...

If no developers are interested, some day I will hopefully find the time to just go grab the damn code and do it myself, but that may not be for awhile (until after the release of Elysian Shadows)... In the meantime I've made it literally as easy as I even know how to make it to interop with for Dreamcast emulator developers... it's literally the same information the Maple bus is receiving anyway with zero additional processing... it's trivial.
Post Reply