P8XNICCC: ST-NICCC 2000 demo on P1!
Here's the famous ST-NICCC 2000 demo by Oxygene, running on a P1 @80MHz with NTSC output ladder and an SD card.
This, just like the original demo, isn't _really_ doing any 3D rendering. Instead, prerendered 2D vector data is streamed in from disk and that is rendered.
Because the P1 doesn't have enough memory to buffer a full screen, let alone two, the vector graphics are rendered line-by-line as they're scanned out to the TV. This is why the more complex screens have horizontal distortion.
Additionally, the memory used to hold the geometry also isn't quite big enough, so some screens (really just the text at the beginning) have missing polys, too.
There's also no music, due to a combination of lack of memory and sheer lazyness.
Thanks to heaven6502 for describing the file format used: http://arsantica-online.com/st-niccc-competition/
Instructions for compiling:
- Have latest flexspin git build installed (or 5.0.3 when it comes out)
- Adjust the constants in platform.spin to suit your board
- Run the following commands:
flexspin -c VJET_v01_composite.spin flexspin -c VJET_v01_rendering.spin flexspin -O2,~remove-bss P8XNICCC.spin- Copy P8XNICCC.SCN to the root of your SD card
- Run the compiled P8XNICCC.binary as usual