ElysianVMU Pre-Alpha Release Testing

General discussion pertaining to Elysian Shadows, ESTk, ESGamma, and the Adventures in Game Development series.

Moderators: News Mods, Elysian Shadows Team

Re: ElysianVMU Pre-Alpha Release Testing

Postby CaptainLizard on Sat Oct 08, 2016 5:12 pm

Been busy so I didn't get to test what I had until now. A disassembler sounds awesome and I'll be getting on that especially since I felt like some ROMs I ran seemed to drop inputs (using keyboard as controller). Chao 2 was one of those so I'll be revisiting that and see whats going on. Other than that, some games like MvC2 up and quit after trying to make a sound with an error code like this: http://imgur.com/ib6d5VW

I'll get back when I can about the input. I suspect it may be my crappy laptop but better safe than sorry. Hope this helps and can't wait to hear more :)
User avatar
CaptainLizard
ES Beta Backer
ES Beta Backer
 
Posts: 3
Joined: Sun Jan 11, 2015 12:37 am
Location: Missouri

Re: ElysianVMU Pre-Alpha Release Testing

Postby Falco Girgis on Fri Oct 21, 2016 2:54 am

CaptainLizard wrote:Other than that, some games like MvC2 up and quit after trying to make a sound with an error code like this: http://imgur.com/ib6d5VW
Whoah, seriously? Okay, so according to my coedz...
Code: Select all
       //ensure sane sound wave
        if(pulseWidth > 0 && pulseWidth <= period) {
            ...
        } else {
            _gyLog(GY_DEBUG_WARNING, "Attempting to play malformed sound wave [period: %d, pulseWidth: %d]", period, pulseWidth);
            assert(0); //malformed sound wave!
        }
something is seriously fundamentally reested here. The assert(0) is line 74 from your screenshot... So apparently MvC2 is trying play some REALLY fucked up sound wave. That _gyLog() statement above the assertion should be logging some of the details to your local debug log. Can you post what it says? It's at C:/Users/YOUR_USERNAME/ElysianVMU/vmu_debug.txt in your home directory.

The buzzer's frequency characteristics are driven by Timer 1, which is also a general-purpose timer as well. I'm wondering if maybe the buzzer hardware is supposed to be disabled at that point in time. That would mean MvC2 is just trying to use it as a general timer, and I'm mistakingly trying to generate a sound wave output from it... Fuck.
"So what happens if the Elysian Shadows Kickstarter fails?"
Image
User avatar
Falco Girgis
Elysian Shadows Team
Elysian Shadows Team
 
Posts: 10681
Joined: Thu May 20, 2004 3:04 pm
Location: Studio Vorbis, AL

Re: ElysianVMU Pre-Alpha Release Testing

Postby Falco Girgis on Fri Oct 21, 2016 6:16 am

CaptainLizard wrote:A disassembler sounds awesome and I'll be getting on that especially since I felt like some ROMs I ran seemed to drop inputs (using keyboard as controller).
You're absolutely right. I wasn't really certain at first, but I've grown increasingly self conscious of it... and by self conscious, I mean I've been pissed off about it.

Couldn't sleep, so I fundamentally rearchitectured the entire event loop to fix the timing. One of the hardest parts of an emulator like this is trying to get the timing right. I had the CPU clock cycle timing basically nailed but then the gamepad input pins, serial communications, and screen were not tied to the same clock source. They were essentially running at 30-60fps (or higher) with the GUI, independent of the CPU core. So some of the frames where key presses or releases were being detected were frames when the VMU's CPU was "sleeping" (because it wasn't time for it to update yet), so ultimately the CPU was losing a bunch of interrupts from the input subsystem.

While I was redoing the input polling loop, I went ahead and made sure to treat the keyboard now as a removable device just like the controller, in preparation for running EVMU on the Dreamcast, OUYA, ForgeTV, Raspberry PI, or any other device where the keyboard is optional. I hopefully accounted for a corner case when a controller is removed while the buttons are still held down so the emulator is not stuck with the buttons down when it doesn't receive a button release interrupt on the respective pin.

Everyone please try the emulator again. It made a HUGE fucking difference in responsiveness and playability. It feels like it's 1000x more fluid now, because the input is tied with the CPU correctly. My bad, it was a major fuckup on my part. This may have even resolved some of the issues with the semi-working serial emulation over TCP, as that was not tied to the system clock either, but either way, I'll have to fix that up sometime after AiGD33.
"So what happens if the Elysian Shadows Kickstarter fails?"
Image
User avatar
Falco Girgis
Elysian Shadows Team
Elysian Shadows Team
 
Posts: 10681
Joined: Thu May 20, 2004 3:04 pm
Location: Studio Vorbis, AL

Re: ElysianVMU Pre-Alpha Release Testing

Postby Falco Girgis on Wed Oct 26, 2016 11:17 pm

FINALLY fixed the annoying ass input bug where controllers are not detected properly when they're disconnected and reconnected. I was actually having to work on the libGyro input API for 4 player support in Elysian Shadows and wound up having to fix it there... since it's shared code, EVMU got the bug fix too as a side-effect. Oh, also updated the SDLJoystick2 library version we're linking to on MacOS, as the previous version had some problems with general controller detection and rumble/haptic support on certain controllers (like Xbox 360 controllers).

For those of you who have been following this project, the next Adventures in Game Development (Chapter 33) will be coming out literally any day and gives in in-depth look at the VMU, ElysianVMU, and Patrick creating art on such limited hardware.

This is the first the masses will have heard of this emulator, so I'm expecting to start seeing a shitton more bug reports here...
"So what happens if the Elysian Shadows Kickstarter fails?"
Image
User avatar
Falco Girgis
Elysian Shadows Team
Elysian Shadows Team
 
Posts: 10681
Joined: Thu May 20, 2004 3:04 pm
Location: Studio Vorbis, AL

Re: ElysianVMU Pre-Alpha Release Testing

Postby Falco Girgis on Fri Oct 28, 2016 6:15 pm

Commented out the assertion failure when the SFX is deemed invalid. Won't hurt anything, as I'm not even trying to play the sound in that case, just gracefully ignoring it and logging it as a warning... Honestly not even sure how the fuck that assertion is failing in a release build, but I also ran into it on MacOS the other day.

This is a band-aid to prevent crashing and inconvenience until I figure out what the fuck is actually going on.
"So what happens if the Elysian Shadows Kickstarter fails?"
Image
User avatar
Falco Girgis
Elysian Shadows Team
Elysian Shadows Team
 
Posts: 10681
Joined: Thu May 20, 2004 3:04 pm
Location: Studio Vorbis, AL

Re: ElysianVMU Pre-Alpha Release Testing

Postby Falco Girgis on Thu Dec 01, 2016 3:55 pm

In case you missed it in AiGD34, Raspberry Pi build has been added and is available in Dropbox. Seems to be fully functional, but performance is a bit shitty and needs some tweaking, because I opted to include all GUI functionality of the desktop version. The EVMU core itself is fast as fuck, but the Qt desktop stuff is probably bogging it down a bit on the Rpi. I'll have to tweak/optimize once I get a chance.

The shittier Rpi performance may also result in some inputs being missed from the controller... analog stick and keyboard seem more responsive than dpad, weirdly enough... I did leave it running on accident for like 4 days on the Rpi, and it was still going strong, so it's very stable at least.
"So what happens if the Elysian Shadows Kickstarter fails?"
Image
User avatar
Falco Girgis
Elysian Shadows Team
Elysian Shadows Team
 
Posts: 10681
Joined: Thu May 20, 2004 3:04 pm
Location: Studio Vorbis, AL

Re: ElysianVMU Pre-Alpha Release Testing

Postby dabbing on Mon Mar 06, 2017 11:28 am

Is it possible to save your progress in something like Chao Adventure beyond just using savestates?
dabbing
Chaos Rift Newbie
Chaos Rift Newbie
 
Posts: 1
Joined: Mon Mar 06, 2017 11:25 am

Previous

Return to Elysian Shadows Discussion

Who is online

Users browsing this forum: No registered users and 1 guest

cron