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 Falco Girgis on Wed Jul 06, 2016 1:21 pm

Which version of Qt are you trying to link against? This should be using either 5.5 or 5.6.
"So what happens if the Elysian Shadows Kickstarter fails?"
Image
User avatar
Falco Girgis
Elysian Shadows Team
Elysian Shadows Team
 
Posts: 10693
Joined: Thu May 20, 2004 3:04 pm
Location: Studio Vorbis, AL

Re: ElysianVMU Pre-Alpha Release Testing

Postby Falco Girgis on Wed Jul 06, 2016 3:57 pm

Okay, so I'm on vacation at the beach right now, and I've tried to sneak in some EVMU work while my fiance has been asleep in the mornings (so I won't get bitched at for working on our vacation).

I added support for turbo buttons:
Turbo A - X key, Square button (Playstation layout)
Turbo B - Y key, Triangle button (Playstation layout)
"So what happens if the Elysian Shadows Kickstarter fails?"
Image
User avatar
Falco Girgis
Elysian Shadows Team
Elysian Shadows Team
 
Posts: 10693
Joined: Thu May 20, 2004 3:04 pm
Location: Studio Vorbis, AL

Re: ElysianVMU Pre-Alpha Release Testing

Postby Falco Girgis on Wed Jul 06, 2016 4:29 pm

Alrighty, after some research on Japanese character sets and extended ASCII, I'm now displaying shit correctly in the statusbar...
Screen Shot 2016-07-06 at 3.21.19 PM.png
Screen Shot 2016-07-06 at 3.21.19 PM.png (24.21 KiB) Viewed 1126 times


VMU is using JIS X 0201, which is pretty dated/obscure, but luckily it's included within the modern Shift-JIS standard.
Screen Shot 2016-07-06 at 2.48.06 PM.png
Screen Shot 2016-07-06 at 2.48.06 PM.png (139.09 KiB) Viewed 1126 times


I'm going to assume that if your text editor is displaying those characters right, it somehow automatically detected that as the character set when opening the file.

EDIT: Also just wanted to let people know that our build server is down right now, so the builds in the Dropbox are not being updated with the latest builds... I'll post here when the Dropbox links are back up to date when the server is back online.
"So what happens if the Elysian Shadows Kickstarter fails?"
Image
User avatar
Falco Girgis
Elysian Shadows Team
Elysian Shadows Team
 
Posts: 10693
Joined: Thu May 20, 2004 3:04 pm
Location: Studio Vorbis, AL

Re: ElysianVMU Pre-Alpha Release Testing

Postby Falco Girgis on Wed Jul 06, 2016 4:42 pm

TutisDev wrote:
Windseer wrote:Per Falco's request. I have a bug to submit regarding the pacman ROM.
When the ROM is booted up if you press B instead of A as you normally would to start the game. The game will do one cycle of the sound options then freeze altogether.


In linux I can confirm that B cycles audio but I do not experience a freeze. Instead the audio just keeps cycling on/off until B is pressed again.
I can't reproduce this either... Is it possible you may have accidentally hit the M button after the S button and killed it without knowing?
"So what happens if the Elysian Shadows Kickstarter fails?"
Image
User avatar
Falco Girgis
Elysian Shadows Team
Elysian Shadows Team
 
Posts: 10693
Joined: Thu May 20, 2004 3:04 pm
Location: Studio Vorbis, AL

Re: ElysianVMU Pre-Alpha Release Testing

Postby eatcomics on Wed Jul 06, 2016 5:22 pm

Falco Girgis wrote:Which version of Qt are you trying to link against? This should be using either 5.5 or 5.6.

I was using 5.5 if I remember correctly
Image
User avatar
eatcomics
ES Beta Backer
ES Beta Backer
 
Posts: 2664
Joined: Sat Mar 08, 2008 9:52 pm
Location: Illinois

Re: ElysianVMU Pre-Alpha Release Testing

Postby Falco Girgis on Wed Jul 06, 2016 6:01 pm

DeltaFolee wrote:Playing the Tetris ROM, pushing M caused a complete freeze (as expected). Looking at the vmu_debug.txt file, it was over 9 MB of the same line (after some rather normal logging of initialization, etc):

Code: Select all
X - Entering firmware at unknown address! [680]
Fixed duplicate firmware error messages.

I also disabled the M(ode) button for now. Seeing as I'm not emulating the BIOS and game mode is the only mode that works, the only thing this button can do is fuck shit up right now.
"So what happens if the Elysian Shadows Kickstarter fails?"
Image
User avatar
Falco Girgis
Elysian Shadows Team
Elysian Shadows Team
 
Posts: 10693
Joined: Thu May 20, 2004 3:04 pm
Location: Studio Vorbis, AL

Re: ElysianVMU Pre-Alpha Release Testing

Postby Falco Girgis on Wed Jul 06, 2016 6:03 pm

eatcomics wrote:
Falco Girgis wrote:Which version of Qt are you trying to link against? This should be using either 5.5 or 5.6.

I was using 5.5 if I remember correctly
Do you have any other versions installed? A quick Google search reveals this error is pretty common when the linker paths are wrong and/or the wrong version of Qt is being used.
"So what happens if the Elysian Shadows Kickstarter fails?"
Image
User avatar
Falco Girgis
Elysian Shadows Team
Elysian Shadows Team
 
Posts: 10693
Joined: Thu May 20, 2004 3:04 pm
Location: Studio Vorbis, AL

Re: ElysianVMU Pre-Alpha Release Testing

Postby eatcomics on Thu Jul 07, 2016 4:20 pm

Falco Girgis wrote:
eatcomics wrote:
Falco Girgis wrote:Which version of Qt are you trying to link against? This should be using either 5.5 or 5.6.

I was using 5.5 if I remember correctly
Do you have any other versions installed? A quick Google search reveals this error is pretty common when the linker paths are wrong and/or the wrong version of Qt is being used.

Yeah that's what I found. I'll have to find a repo with a newer version. Debian is always on old versions.
Image
User avatar
eatcomics
ES Beta Backer
ES Beta Backer
 
Posts: 2664
Joined: Sat Mar 08, 2008 9:52 pm
Location: Illinois

Re: ElysianVMU Pre-Alpha Release Testing

Postby CaptainLizard on Sun Jul 10, 2016 3:14 pm

Finally found you guys again! So glad to see this project still going. Heard some drama was going down and I couldn't find these forums for a long time. But I've found it and here to test! Recently downloaded the VMU Emulator and messed around with the VMU Roms it came with. I haven't noticed anything that hasn't already been posted here or already known. But I'll post something here if I find anything.
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 Tue Aug 02, 2016 2:20 am

CaptainLizard wrote:Finally found you guys again! So glad to see this project still going. Heard some drama was going down and I couldn't find these forums for a long time. But I've found it and here to test! Recently downloaded the VMU Emulator and messed around with the VMU Roms it came with. I haven't noticed anything that hasn't already been posted here or already known. But I'll post something here if I find anything.
Thanks, man, really appreciate it. I'm about to make a new release that I've been doing in my spare time between working on ES along with a REAL release to the public...

Up until now, this has just been more of an open beta only posted on these forums. It'll be getting a dedicated page on the site and will be posted in the next Kickstarter update and will be announced to the general public, hopefully fixing all of the bugs you've all posted and implementing most of the feature requests.

I also have some VERY special plans on the backburner for ElysianVMU that I will be hopefully slowly working on in my down time. I want it to be a LOT more than just a little emulator emulating game mode. I want it to be an entire integrated virtual memory card manager and suite handling save files and game files, supporting all major Dreamcast emulators, and even allowing you to save and load images onto real, physical VMUs with either a Dreamcast to USB controller converter or uploading save files from the DC web browser to the cloud.

Imagine being able to buy a cheap little DC->PC controller converter that allows you to use your actual Dreamcast controller and actual Dreamcast VMU with Dreamcast emulators or Elysian Shadows for the full, authentic DC experience. You would also never have to worry about running out of space on a single physical VMU, as ElysianVMU would make it extremely easy to swap in and out save files from your local database.
"So what happens if the Elysian Shadows Kickstarter fails?"
Image
User avatar
Falco Girgis
Elysian Shadows Team
Elysian Shadows Team
 
Posts: 10693
Joined: Thu May 20, 2004 3:04 pm
Location: Studio Vorbis, AL

Re: ElysianVMU Pre-Alpha Release Testing

Postby dandymcgee on Tue Aug 02, 2016 5:15 pm

Falco Girgis wrote:Imagine being able to buy a cheap little DC->PC controller converter that allows you to use your actual Dreamcast controller and actual Dreamcast VMU with Dreamcast emulators or Elysian Shadows for the full, authentic DC experience. You would also never have to worry about running out of space on a single physical VMU, as ElysianVMU would make it extremely easy to swap in and out save files from your local database.

Goddamn, dude. This sounds fucking awesome.
Falco Girgis wrote:It is imperative that I can broadcast my narcissistic commit strings to the Twitter! Tweet Tweet, bitches! :twisted:
User avatar
dandymcgee
ES Beta Backer
ES Beta Backer
 
Posts: 4911
Joined: Tue Apr 29, 2008 4:24 pm
Location: New Hampshire

Re: ElysianVMU Pre-Alpha Release Testing

Postby Falco Girgis on Fri Sep 09, 2016 1:16 am

Been really, really fucking busy lately getting the build server back up and working on ES with our new sound guy (who has yet to be announced), but there's a bunch of progress I made on ElysianVMU several weeks ago but wasn't able to report at the time.

1) Better File Menu Layout
Based on the feedback I received plus an extra "Tools" menu for dumping icons, screenshots, and later on things like exporting to emulator formats, connection to physical devices, memory browser, debugger, etc.

2) Keyboard Shortcuts
From you guys.

3) Sound Emulation Work
Depending on your operating system, this may or may not directly effect you. LibGyro uses OpenAL, which has some pretty shitty issues on MacOS. Not sure if Windows or Linux had a problem, but opening Soul Calibur with sound emulation enabled caused a pretty serious crash, and there were some issues with sound lag while MacOS took its sweet ass time swapping audio buffers. I created a much more sophisticated method of caching and changing buzzer sound samples as the frequency changes on the VMU, which has much, much better performance. I also noticed a slight error with sound waveform generation that has now been fixed. Should be much faster and much more accurate.

4) File->Load BIOS Image
You can optionally specify a BIOS image to load along with the ROM image. Since we don't have 100% documentation over every feature of the VMU, I have not yet been able to emulate every firmware call. This means there may be a few very rare cases in certain obscure games where there may be an issue with the emulator. With the BIOS image specified, EVMU will just fall back in and call the BIOS directly, which should give better compatibility... In the future I want this to be obsolete, as I want to 100% emulate it myself (it's illegal to distribute BIOS images with an emulator like EVMU).

5) Tools->View Log
Opens the debug/log file for viewing in the default text editor. Useful for debugging.

6) Tools->Dump Eyecatch
"Eyecatch" is an optional, rarely-used high-res image for VMU save files on the Dreamcast. I actually don't even know of any VMU minigames that use it, so I haven't been able to confirm the correctness of my conversion algorithm, but I'm pretty sure it's right. Plenty of actual save files do use it, though, so when EVMU starts managing save files along with VMU minigames, I'll have more opportunity to test.

7) Low Battery Emulation
Seriously. The VMU has a battery monitor in firmware that operates on the voltage level of one of the external pins. When no signal is applied to this pin, that means the battery is low and the firmware reports this in a system variable. A few games like Sonic Adventure 2 give you a warning, and it's a useful feature to include in the emulator for if you wish to include the battery monitor in a homebrew minigame.
Screen Shot 2016-05-20 at 2.34.15 PM.png
Screen Shot 2016-05-20 at 2.34.15 PM.png (20.02 KiB) Viewed 775 times


8) Serial Communications over TCP
Okay, this one is my baby... To my knowledge, there's no VMU emulator in existence that can emulate VMU/VMU serial communications. I'm attempting to emulate the serial communications of both VMU/VMU communication and VMU/Dreamcast communication (for using EVMU as a virtual VMU in Elysian Shadows later on). It's not quite done yet, but it's like 95% there. I can get two Chaos linked in Sonic Adventure 1 for mating, and one of them works while another one errors out. Probably another late night of working and it'll be at 100%.

downsizeVmubattery.jpg
downsizeVmubattery.jpg (72.28 KiB) Viewed 775 times

The TCP connection manager can be launched from Emulation->Serial Communications->TCP Connection Manager. The left groupbox is for configuring the emulator to work as the host VMU and the right is for configuring it as the slave VMU.
  • Allow VMU Clients - Allow VMUs to connect to you as the host
  • Allow Dreamcast Clients - Allow Dreamcasts to connect to you as the host. This is for games like Elysian Shadows to connect to the emulator and us it as a virtual VMU screen for output. This is not currently implemented, but it'll come later once we're ready for it in ESTk.
  • Use Most Recent Connection - Disconnects current client to accept a new incoming connection from another client.
  • Start TCP Server on Program Start - Allows you to automatically broadcast your VMU as a host when the program starts up instead of having to start the host manually.

Once you're connected, all the status should show up on the bottom, including any errors you may have. There is also a "Quick Connect" file menu action at Emulation->Serial Communications->Quick Connect for quickly connecting to a remote host using existing settings without having to do it manually through the connection manager. All settings stored in the connection manager are saved and restored with the rest of your settings.

The whole networking back-end here is actually pretty substantial for both ElysianVMU and Elysian Shadows. This is not using Qt's networking framework, because I wanted ALL builds of ElysianVMU to support the same functionality, so your iPhone or Android mobile device could operate as a remote VMU screen for Elysian Shadows... So instead, it's all been implemented within LibGyro like the rest of the emulator's core. By the end of it, any of the million platforms supported by ElysianVMU should be able to connect to any one of the other for multiplayer or to be used with Elysian Shadows... It's going to be really fun implementing the libGyro networking API on the Dreamcast. :lol:

edit:

Qt and libGyro Compile-Time and Run-Time Version Checks
Oh yeah, almost forgot to mention. Looking back at this topic at the issues and suggestions, I realized it would be very useful to add the Qt version to the log file. So the compile-time version is the version I built ElysianVMU with. The run-time version is the version you have installed and are running it with. This should be the exact same, since I'm distributing it with DLLs, but we've run into some issues where people with existing versions of Qt installed resulted in a conflict. This will help us pinpoint shit like that. I've also added the same information for libGyro, so when I release it open-source to the public and it's distributed as a dynamic lib as well, we won't have that kind of bullshit going on.
"So what happens if the Elysian Shadows Kickstarter fails?"
Image
User avatar
Falco Girgis
Elysian Shadows Team
Elysian Shadows Team
 
Posts: 10693
Joined: Thu May 20, 2004 3:04 pm
Location: Studio Vorbis, AL

Re: ElysianVMU Pre-Alpha Release Testing

Postby CaptainLizard on Sat Sep 10, 2016 12:01 pm

Sweet!! Updates!!! Imma download it now and give you guys feedback as I test some ROMs :)
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 Thu Sep 22, 2016 11:50 pm

Been super fucking busy with all the new AiGD/ES-related work and getting the two new team mates set up and up to speed, but I had a few minutes to spare the other night...

Added what I think is a pretty sweet fucking feature to EVMU: a disassembler. Now you can shit out the assembly source code of any VMU binary image or ROM and dissect it to see what the fuck is going on for your own games. This is along the same vein as having EVMU be the one-stop ultimate VMU development environment. Next I'm inevitably going to be writing an assembler for the bitch...

So you can disassemble the current loaded ROM image from the Tools Menu:
Screen Shot 2016-09-22 at 10.31.46 PM.png
Screen Shot 2016-09-22 at 10.31.46 PM.png (110.39 KiB) Viewed 676 times


OR

You can invoke ElysianVMU as a standalone disassembler (and later on assembler) like so
Code: Select all
ElysianVMU.exe -r Shenmue.VMS -d Shenmue.ASM -l

Flags:
  • -r: ROM image to load
    -d: Disassembly output file
    -l: List instruction memory addresses in disassembly output (optional)

Here's some random-ass source code from Chao Adventure 2 with instruction addresses enabled.
Code: Select all
1984 : BRF 26338
1987 : INC @R2
1988 : BN 221, #5, 216
1991 : INC @R2
1992 : INC @R2
1993 : BN 221, #5, 216
1996 : INC @R2
1997 : INC @R2
1998 : JMP #3617
2000 : BRF 26341
2003 : INC @R2
2004 : CLR1 307, #0
2006 : BN 102, #5, 102
2009 : CLR1 307, #0
2011 : CLR1 358, #5
2013 : INC @R2
2014 : BPC 290, #6, 17
2017 : AND @R1
2018 : INC @R2
2019 : INC @R2
2020 : OR 324
2022 : JMP #3430
2024 : INC @R2
2025 : OR 324
2027 : JMP #3430
2029 : INC @R2
2030 : BPC 290, #6, 17
2033 : AND @R1
2034 : INC @R2
2035 : INC @R2
2036 : OR 324
2038 : JMP #3430
2040 : INC @R2
2041 : OR 324
2043 : JMP #3430
2045 : INC @R2
2046 : BPC 290, #6, 17
2049 : AND @R1
2050 : INC @R2
2051 : INC @R2
2052 : OR 324
2054 : JMP #3430
2056 : INC @R2
2057 : OR 324
2059 : JMP #3430
2061 : INC @R2
2062 : BPC 290, #6, 17
2065 : AND 102
2067 : INC @R2
2068 : CLR1 307, #0
2070 : BN 102, #5, 102
2073 : CLR1 307, #0
2075 : CLR1 358, #5
2077 : INC @R2
2078 : JMP #1570
2080 : BRF 22046
2083 : INC @R2
2084 : BN 221, #5, 216
2087 : INC @R2
2088 : INC @R2
2089 : BN 221, #5, 216
2092 : INC @R2
2093 : INC @R1
2094 : AND 34
2096 : BRF 13598
2099 : INC @R2
2100 : BP 136, #0, 134
2103 : LD @R2
2104 : PUSH 104
2106 : BN 134, #0, 102
2109 : DBNZ 226, 33
2112 : BRF 57873
2115 : DBNZ @R2, 102
2117 : INC @R2
2118 : INC @R2
2119 : MUL
2120 : LD 358
2122 : INC @R2
2123 : INC @R2
2124 : INC @R1
2125 : JMP #1570
2127 : JMPF #4369
2130 : CALL #3810
2132 : DBNZ @R2, 102
2134 : INC @R2
2135 : INC 310
2137 : INC @R2
2138 : INC @R2
2139 : INC @R1
2140 : JMP #1762
2142 : MOV #17, 17
2145 : BRF 7697
2148 : AND 51
2150 : DBNZ @R1, 85
2152 : DBNZ @R1, 85
2154 : BE 302, 226
2157 : MOV #17, 33
2160 : BRF 4369
2163 : BRF 60958
2166 : SET1 238, #6
2168 : SET1 238, #6
2170 : SET1 226, #6
2172 : MOV #17, 33


There's still some polish I really should add to the disassembler in the future... For example, there are a shitload of NOPs for empty code segments with 0s in memory between code segments. I can also label interrupt service routines and stuff for controlling input, timers, serial communications, etc as their memory addresses are hardcoded within the VMU. Basically it could be a little less verbose and a little more informative.

Another thing that has been in the back of my mind for forever that I probably will not find time to do for a veeeery long time but would be absolutely unparalleled in fucking awesome and would benefit the Dreamcast-scene tremendously as a whole: port GCC to target the VMU architecture.

In all absolute fucking seriousness here, when the time comes when ES itself is pretty much done and we are dedicating ourselves entirely to the VMU minigame, there's a HIGH probability that it would take me less time to port GCC to it and write most of the minigame in C than it would to just write the entire game in assembly. I could EASILY release a very small, lightweight API of C functions with mostly inline assembly to do basic things like rendering, playing sound, etc that would open up VMU development 10000000000x more than it already is to the community... LibGyroVMU, anyone? SOME FUCKING DAY. :twisted:
"So what happens if the Elysian Shadows Kickstarter fails?"
Image
User avatar
Falco Girgis
Elysian Shadows Team
Elysian Shadows Team
 
Posts: 10693
Joined: Thu May 20, 2004 3:04 pm
Location: Studio Vorbis, AL

Re: ElysianVMU Pre-Alpha Release Testing

Postby Falco Girgis on Fri Sep 23, 2016 2:45 am

Eeeeeh... fuck it... wasn't tired...

FINALLY replaced the shitty-ass placeholder "mode" icons on the bottom of the screen with Patrick's new, badass ones which he recreated based on the actual VMU. Here's the new icons:
Screen Shot 2016-09-23 at 1.41.49 AM.png
Screen Shot 2016-09-23 at 1.41.49 AM.png (15.07 KiB) Viewed 674 times


And damn do they look good in-game...
Screen Shot 2016-09-23 at 1.41.07 AM.png
Screen Shot 2016-09-23 at 1.41.07 AM.png (38.14 KiB) Viewed 674 times


Patrick also made a reaaaaally gorgeous, high-res VMU image with labeled buttons for when I get around to implementing button assignment in the controller configuration window.
"So what happens if the Elysian Shadows Kickstarter fails?"
Image
User avatar
Falco Girgis
Elysian Shadows Team
Elysian Shadows Team
 
Posts: 10693
Joined: Thu May 20, 2004 3:04 pm
Location: Studio Vorbis, AL

PreviousNext

Return to Elysian Shadows Discussion

Who is online

Users browsing this forum: No registered users and 1 guest

cron