Page 1 of 2

VERA FX demos for VCF

Posted: Sun Sep 10, 2023 6:07 am
by Jeffrey
Here is the release of the two VERA FX demos created for VCF. 🥳 It contains the "3D Butterfly" and the "Mario Kart" demos.

Run on real HW:
- You need the latest VERA firmware (0.3.1). See here: https://github.com/X16Community/vera-module/releases (look in the Assets tab for downloading the file). Also upgrading the X16 kernal to r44 is wise.
- Unzip attachment onto an SD, insert SD into X16, do a DOS"CD:FX", LOAD and RUN.

Run on emulator:
- Get the r44 emulator
- Unzip the attachment zip file in the emulator directory
- Start the emulator (note that Mario Kart requires 2MB of RAM, so you need to add the option: -ram 2048)
- Do a DOS"CD:FX", LOAD and RUN.

Screenshots:

Image

Image

Re: VERA FX demos for VCF

Posted: Sun Sep 10, 2023 8:02 pm
by paulscottrobson
Is Mario Kart for real or a cheat ? The 2Mb requirement made me wonder ; there's a pretty demo on here which looks spectacularly 3D but is really just all pre-calculated and rendered simply on the fly ; it's not doing 3D in real time.

Not knocking the project, looks great ; things that Vera was rubbish at such as line drawing are way better - could now do a very nice Tempest I suspect.

Re: VERA FX demos for VCF

Posted: Sun Sep 10, 2023 11:53 pm
by Ender
Awesome :)

Do you think you'll release the source for these demos as well? It would be a good example of how to use the FX features.

Re: VERA FX demos for VCF

Posted: Mon Sep 11, 2023 2:20 am
by Jeffrey
paulscottrobson wrote: ↑Sun Sep 10, 2023 8:02 pm Is Mario Kart for real or a cheat ? The 2Mb requirement made me wonder ; there's a pretty demo on here which looks spectacularly 3D but is really just all pre-calculated and rendered simply on the fly ; it's not doing 3D in real time.

Not knocking the project, looks great ; things that Vera was rubbish at such as line drawing are way better - could now do a very nice Tempest I suspect.
The Mario Kart is for real. This is a demonstrator of the Vera firmware capabilities. Vera can now do (or better: help with) affine transformations, which is what you need for mode7-like effects. For single player it runs at around 60fps. Of course the rest of the game is not implemented yet (all the sprite and sound stuff), but we already know Vera/the x16 is good at that. The demo does use (large) look up tables for the perspective calculations (hence the 2MB requirement): those are needed to look in every direction and they work on every map and every position. This makes this a mode7-engine and not just a nice gimmick.

A long time ago i wrote (a remake of) the STNICCC demo (which you are referring to, i think), which still a bit of a "cheat", although still very hard to accomplish: it drew a stream of precalculated polygons: so only the very last part of a 3D Polygon engine pipeline. Basically a video. The butterfly demo (see above) contains a actual 3D engine, with 3D rotation, blackface culling, perspective calculations and dynamic lighting. On top of that a rasterizer (which was the hardest part to make performant enough: a Polygon filler helper). So this is real 3D now. You can use the cursor keys to steer it! Its still limited of course (couple of hundred polygons) which is a bit like the SNES FX, but quite capable. This was impossible with the old VERA firmware.

Note that the above demos (including both engines) and the VERA firmware additions have taken an incredible amount of time to develop over the time of almost a year now. I hope that the official X16 team will use this new firmware as the new default firmware of upcoming x16 machines. Its fully backwards compatible and is currently being verified. :)

regards,

jeffrey

Re: VERA FX demos for VCF

Posted: Mon Sep 11, 2023 2:33 am
by Jeffrey
Ender wrote: ↑Sun Sep 10, 2023 11:53 pm Awesome :)

Do you think you'll release the source for these demos as well? It would be a good example of how to use the FX features.
The source is already available on my GitHub. Its not (at all) cleaned up yet: its part of a hardware test suite right now. (GitHub link: Mario Kart is in "tiled_mode.s", butterfly is in "polygon_3d.s"). These are advanced programs, not easy to read.

If you want to get familiar with the FX update there is a tutorial (with example code) here: https://docs.google.com/document/d/1q34 ... o_gfE54PTg

Re: VERA FX demos for VCF

Posted: Mon Sep 11, 2023 2:47 am
by Jeffrey
Here are some videos (not mine) showing the demos running on real HW:





Note: music in those videos is post-edit ;)

Re: VERA FX demos for VCF

Posted: Mon Sep 11, 2023 7:10 pm
by desertfish
eh!! what modifications did you make to the Bubble Universe program to have a much nicer color palette? Can you share?

Re: VERA FX demos for VCF

Posted: Tue Sep 12, 2023 12:34 am
by ahenry3068
I posted a mod to Bubbleuniverse. But the one on that video isn't my mod. Mine cycled the colors while it was drawing.

Re: VERA FX demos for VCF

Posted: Tue Sep 12, 2023 4:00 pm
by paulscottrobson
Jeffrey wrote: ↑Mon Sep 11, 2023 2:33 am
Ender wrote: ↑Sun Sep 10, 2023 11:53 pm Awesome :)

Do you think you'll release the source for these demos as well? It would be a good example of how to use the FX features.
The source is already available on my GitHub. Its not (at all) cleaned up yet: its part of a hardware test suite right now. (GitHub link: Mario Kart is in "tiled_mode.s", butterfly is in "polygon_3d.s"). These are advanced programs, not easy to read.

If you want to get familiar with the FX update there is a tutorial (with example code) here: https://docs.google.com/document/d/1q34 ... o_gfE54PTg
This is awesome.

When the Vera spec first came out I was critical of it - what it could do it did well (tiles and sprites, it was a very NES style chip), but some things it was pretty poor at. For example, I could see real problems if you wanted to make a version of "Tempest" on it.

I think you've fixed almost all of them. Very impressive.

(I also reckon people will find ways of using them that will push them to even greater heights !)

Re: VERA FX demos for VCF

Posted: Fri Sep 15, 2023 6:41 am
by voidstar
Who needs Unity, when we got VERA FX :lol:

(and ZSOUND!!! that's the next challenge, merging those two together)

@desertfish: idk, I don't think I changed any colors in Bubble Universe. That Sun LCD was just in a good mood that day!