Milkymist 0.5 “/tmp/lab party” released

I am pleased to annouce the release of Milkymist 0.5 – that was successfully used for the first time for actual VJing :)
It’s slowly getting into place – there are now 42 visual patches distributed with this release, whose rendering matches that of MilkDrop and/or simply looks good.
I do not distribute a binary kit of this release. The reason is that the the alpha blending feature broke the Xst synthesis of the TMU, making most of the new features pretty useless (they do work very well when using another synthesizer, though). As it turns out, the Xilinx crapware fails to synthesize correctly arithmetic constructs like “a*x+(E-a)*y”, requiring manual instantiation of DSP48 primitives for those. I have already fixed the problem for the texture filtering, but I feel somewhat demotivated to do it again (the S6 boards are coming soon and hopefully will not tickle this bug). If someone is interested in Xst synthesis for Virtex-4, please send me a patch.

Complete change log:
* System capabilities register
* Memory performance monitoring (retrieves memory bandwidth utilization and average memory access time from the live system)
* New PFPU instructions:
** QUAKE (Quake-III style inverse square root approximation)
** IF (conditional)
** TSIGN (sign manipulation)
* Translucency (alpha) support in TMU
* Faster FastMemoryLink arbiter
* Fixed DRAM write-to-read (tWTR) timing violation on fully pipelined transfers
* New FPVM (Floating Point Virtual Machine) library for runtime compilation of PFPU programs
** High-level API makes it easy to use the PFPU
** Supports addition, subtraction, multiplication, fast inverse square root, square root, division (experimental), modulo (experimental), integer/float conversions, comparisons (above/below/equal), conditional statements (if), absolute value, sine, cosine, integer part, min(), max()
* New patch parser
* New renderer features
** Configurable per-vertex equations
** Video echo
** Warp
** Scale (sx/sy)
** Q variables
* New patches included
* irender command to input patch code on the serial console
* Build host tools using clang instead of GCC
* Software bugfixes
** TFTP boot in QEMU
** Correct placement of motion vectors
** LCD user interface race conditions
** Renderer stop race conditions

  1. No comments yet.

Comments are closed.