Oooooooh yeah another C3! This time I don't really have anything solid to release. Touhou Mario 2 is still taking forever to finish, I didn't think on any tool idea, nor into some new stable patch and I already told here that I don't do re-releases of my previous works on C3.
So this time I will bring a new things to show: my "laboratory". It's some experiment that I managed to do but they are not very usable right now in real hacks. It's more for fun, a demonstration.
The first think I'd like to show is a 3D graphics renderer using SA-1. Yes, exactly. I was been working on this for around 2 weeks and I got interesting results. Basically it lets you display simple and rotate 3D models (.obj) files on a SA-1 game. I done it by creating a 256x96 4bpp frame buffer in the RAM, which the SA-1 CPU manually renders polygons to it and later it's converted "on the fly" to SNES graphics by using Character Conversion DMA which the final result is projected into a 256x192 image at 30 fps.
The SA-1 CPU takes a list of 3d polygons, projects them into a 2d plane and rasterizes them. While currently it does not let you have 3D levels, it is not impossible to you make them. But for now, it's just simple 3d models that you can view on it.
Of course it is not perfect. You can't zoom too much on it or it will have weird effects and it goes pretty slow with high amount of polygons. The Mario model for example has 200 polygons and the system runs approximately at 5 FPS. And they're not texture, just solid colors. But still you can have some idea that it's possible to have 3D drawing in SNES (via software) and you can see how powerful the SA-1 is even if it's doing something that is not really designed to do such job.
DOWNLOAD SOURCE CODE and DEMO
Left/Right -> Translate (move) around the x axis (left <-> right).
Up/Down -> Translate (move) around the y axis (up <-> down).
L/R -> Translate around the z axis (zoom the screen).
A + Left/Right -> Rotate around the x axis.
A + Up/Down -> Rotate around the y axis.
A + L/R -> Rotate around the z axis.
X -> Change object (four available).
Have a try yourself. I included a program that converts .obj files into .asm that lets you insert in the ROM. And all source code is included if you're curious how everything works. Feel free to use the source code too if you're interested, who knows if we get some real 3D in SMW? While with SA-1 it may not be possible to make something near to SM64, for example, in SMW, you can port the code to ST-0018 or Super FX which have a greater CPU speed and better architecture for graphics drawing.
Anyway that's all. I hope you liked.
Buuuuuuuuuuuut it's not over! Remember the Sound Effects Sample Streaming
I did for Super Mario World some months ago? It's released!
Note that I didn't really get it successfully working. First of all, you must insert the BRR files manually with a patch I included (which needs some adjusts like RATS tag and nonSA-1 version), second it can cause of lot slowdown in the game, because the SNES CPU have to constantly be in communication with the SPC700 CPU while a sfx is playing, where it can lead to problems depending on how heavy your level is. SA-1 helps a bit but does not solve the problem.
But as a feature you can have unlimited sound effects (as long the .brrs fits into the ROM), high quality sound effects and you free up lot of space into the ARAM because you no longer need to insert sound effects nor its samples. So some songs like Izuna's Gusty Garden can be inserted into the ROM without losing any quality and still with better sound effects.
For whoever is interested in using or playing with it:
BIG DOWNLOAD LINK
That's all I have to show for now. So, what you thought about my experiments? Comment now!
Also if someone have a tool request to do, feel free to write here and who knows if I can make it a reality for the next C3? Haha!
- SnesLab Discord