Marble_Granite wrote:So to start, I used the .VMI from Tyro's Chao Editor 2 Application, and changed my Output .VMS from WaterBear to be called "EDITOR2" to match. Blue Swirl, the Dream Explorer .CDI, and this awesome page from Sega-Dreamcast.Com also had some to offer. For the EyeCatch, Sebastian Mihai's Raining Squares offers an excellent explanation on how to make them manually in the "gamehdr.i" File. Generators for .VMI Files and Headers would be awesome Developer Features for EVMU for sure!
Damn, I didn't realize you guys had to go through so much and use so many disjoint tools just to do some of this stuff... For the most part right now, I'm just the guy decoding it, so I was wondering where it was coming from.
wtetzner wrote:You can generate a .vmi file from a .vms like this:
Code: Select all
waterbear vmi my-game.vms --game --copyright '2022 Marble_Granite'
Ah that's better. I had totally forgotten that you could do that with waterbear!
Funny story, you can at least get a boilerplate VMI file from EVMU that should work by just importing the VMS GAME file, autogenerating the VMI from it, then right-clicking on the File Manager and exporting the VMS and autogenerated VMI back to disk. lmao.
Wtetzner, so waterbear can generate VMS animations and eyecatches from animated GIFs and PNGs respectively? They just have to match the right size? That's really nice. I would leave that stuff all to you, but I wanted to let the user do the VMS header stuff like that for DATA files and not just game files... Hrrm... unless you wanted to. lol.
Marble_Granite wrote:
I have indeed considered making a tutorial, and that's one of the main goals I've had with this project; I hopefully could start on that after finishing a couple of VMU Games to ensure a broad knowledge of the VMU's features (I can't get Sound to work at the moment, and I know nothing about Reading/Writing Flash Memory or Stack Management.).
That would be awesome! I know a bunch of people who would be all over it once you feel like you're at that point. Let us know if there's anything we can do to help out or support you working with any of this stuff.
Marble_Granite wrote:The Library is essential for Graphics (I don't even know how to Write to the Screen without it!), and the Example Code is clean and super well-written, not to mention an extremely impressive display of the hardware's capabilities.
Damn, that's good to hear. I was hanging out in Discord with Krensa when he wrote it, and I knew it was pretty good, but I hadn't heard any real feedback from other developers who were using it.
It's actually kind of comical how annoying it is to render to the VMU screen directly. XRAM is just a memory region, but it's split into 3 banks you have to swap between, and the rows for each pixel aren't even laid out contiguously... Every major AAA VMU game I've dissected has some form of abstraction for writing graphics sanely around it. A lot of games like the Chao Adventures seem to do all graphics in a staging buffer in WRAM that is laid out sanely then just blit the entire thing at once to XRAM when they're done drawing.
Marble_Granite wrote:There's also support for including image files in libPerspective's expected format:
Code: Select all
.include sprite "images/sprite.png"
WTF!? I totally missed that part. I didn't even realize you had worked libPerspective into the workflow like that. That's extremely convenient! Nice!!!
Marble_Granite wrote:Calendar has some issues, and exiting the Options Menu is not as responsive as it should be (a lot of presses of A and B might be required to get out of there...), but it does at least boot up, so VMU Users feel free to try it out!
Awesome! I just got a bunch of CR2032s, so I'll check it out on the actual device!
By the way, man, I've spent so much time working on input in ElysianVMU and worrying about responsiveness, that I've kind of created a mental list of games that handle it very well and responsively versus games that don't. Tbh I'm not sure exactly what technique the good ones are using versus the bad ones (polling vs interrupt driven), but it sounds like it might potentially be worth someone's time to run the good ones through waterbear's disassembler and see how they're handling it.
You know what seems to have like INCREDIBLY responsive input? Chao Adventure 2. Like you can especially tell in the text entry screen, rapidly pushing all dpad buttons how quickly it can respond to and detect multiple button presses. Not really sure what they're doing differently, though.