Hi everybody!
EDITED:
I've attached 2 screenshots:
- a TV shot on Saturn(although it's gray, it is a RGB picture)
- a shot from mac version, the same renderer, but a colored image
Yesterday I finished my first working
version of a voxel-renderer for Saturn. I had problems with the scroll screen that did show up on Satourne, but not on the real Saturn hardware.
So listen up, Fabien. your emulator does not care about the RGB_Flag of BitMap scrolls. Thanks a lot for satourne, with XP now it's the first time that I get it to work and it helps a lot.
Thanks to vreuzon for his forum topic about using mkisofs for ISO creation on XP, because stripiso is not working. And yes, I did play Floupix several times and it's really fun!
The voxel-renderer I used is one of the fastest raycasting algorithms that I implemented in my diploma thesis.
Maybe this work was inspired by the impressive graphics of Amok(Saturn). I thought I can do better, and of course I could(todays computers are a lot faster, hehe).
But again, it's Amok that I admire. It's fast, it has 2 player screen(fast, too). And it combines its graphics with Sprites!! With correct occlusion!!
So far, I'm not very pleased with the result. It's a lot, and I mean really a lot, slower than I expected
.
But it uses only one CPU(you can select Master and Slave), it got a damn slow C implementation of fixed mul and a damn slow fixed->float->divide->fixed division. It uses 16 bit RGB and a byte-by-byte workaround to insert the RGB_Flag after rendering.
The data transfer is everything else but optimized DMA.
The SCU DSP is unused, too(although it's difficult to find the right task for it).
All in all it's going to be a very interesting thing. I have setup a todo list to improve the speed and there sure is potential(also, there are some algorithmic modifications that I did not need to implement, because my PC/Mac was fast enough). But my measures showed only 4.16 FPS on a 50Hz Saturn and I'm convinced: the boys at scavenger did a real good job with Amok.
OK, I wrote too much, so just my question: anyone knows a good time to transfer Data to VDP2's VRAM? Is the VDP2 always accessing its VRAM? And I don't know all about slSynch(). Is it possible that I waste time with slSynch() because it got a wait loop inside?
Still reading? Then let me say you that 700 MHz of a poor G3 are able to render over 1080 frames per second and a even poorer K2-6 produces over 220 FPS with 500MHz. So these processors need 648 to 2.272 k cycles for one frame. So we sure can expect enough FPS on Saturn.
Stay tuned,
The Rockin'-B[attachmentid=843][attachmentid=844]