Fortress Dev Blog August 2018



I’d like to talk a little bit about Fortress, where it comes from and where it’s going. The concept for Fortress started to form as a back and forth with Lars. Lars had been suggesting a ‘best of Castle’ module – something that was a collection of my favorite patches. Lars got me in to CPLD, which is a huge array of logic gates that you can program. After much mucking about I got the Xilinx suite installed on an old laptop. For some reason the software didn’t like my desktop PC, and every time I tried a new install it would just crash. No Joy. I got a dev board from Lars for the CPLD. I started programming the core for a Video Weaver style thing. This is where some ideas really started to form.

The Castle series is very concise in it’s format. 4HP panel width, a maximum of 8 jacks, a maximum of 2.25” depth, and through hole parts, so all the modules had to be designed with that in mind. With a larger format module we could have more complex operations and greater circuit density with SMD parts.

Lars asked me to come up with a panel mock up for a proposed Super-Castle. Since I am completely incapable of using Illustrator I came up with this:

I know, I know…

Derek Holzer posted some pages from a book on the Vasulkas, it had some images from a digital image processor they had made in the 1970’s. It was Some Analog to Digital Converters (ADC), an Arithmetic Logic Unit (ALU), and a Digital to Analog Converter (DAC). I believe it was 4-bit, but besides that, it was very ‘Castle’. I was aware of the Vasulkas work with computers in the 1970s, and this was definitely one of the inspirations for Castle, but I hadn’t seen the stuff with ALUs shown in such a way. This really inspired me. You could combine two digitized signals in really interesting and non-linear ways. So with this in my mind, and the Weaver concept, I started to come up with some block diagrams of modes that I thought would make up my perfect incarnation of an all enclosed Castle. Some of the ideas were the Weaver, an ALU, and a 3*64-bit shift register. All of these modes include Clocks and Waveform Generators so the module can be used by itself as a pattern generator, and ADCs to input signals to control or be used as input signals like the Waveform Generators.

The Video Waver is inspired by Stephen Becks Video Weaver, as seen here

The ALU is inspired by the work of the Vasulkas in this area.

The 3*64-bit shift register is based on my work with the Castles. If you think of the shift register as a bucket brigade, you put a signal in the input and 64 clock cycle later you would get that input at the last tap. It will only let signal in on the start of the clock pulse so it also provides a quantization effect. If you were able to select which tap you were viewing on you could shift the image horizontally. Of course this selecting can be done at video rates, so some real nice wiggles can be made. The registers are 3-bits deep, so you can wiggle a video signal split up in to 8 zones of brightness.

This is the block diagram I came up with to try and illustrate what Fortress could be:

Something I really wanted to do when I was developing concepts for Castle was a Palette swapper. Something you could input your 3-bit values in to and it would assign those 8 values to color values that weren’t just combinations of full red, green, and blue. Something that could give you brown, pink, grey, whatever. Unfortunately the number of inputs and PCB size prohibited this from being a Castle module. But now with Fortress this can be implemented. That’s where the CGA palette comes in. Lars and I are both huge nerds, obviously. We grew up playing computer games. The CGA was a weird thing. It wasn’t designed for gaming really. It was designed for high contrast text like on spreadsheets and stuff. This made for some interesting color choices. Some people hate them, some people might love them. I love them. If you are unfamiliar, there are basically two palettes in CGA, and a half brightness variant of each. The palettes are: Black, Cyan, Magenta, White, and Black, Yellow, Red, and White. The Half brightness variants would make Dark Cyan, Dark Magenta, Grey, etc. A funny thing that IBM did with RGBI monitors, which were used to display CGA was that what would be Dark Yellow would be interpreted in the monitor as Brown. This is something that will be replicated in Fortress, as it’s just a funny thing. I like funny things like that.

Well, that’s all I have to say for now.

I’m open to questions if you’ve got any…


Loving how this forum is developing into a wealth of various behind the scenes insights.



I couldn’t agree more. All of the behind the scenes information is extremely inspiring and helpful for folks like myself with limited video experience.


. can’t wait to see this in action! :smiley:

. i’m a big fan of the retro feel as well - have you seen this video on CGA ? as an apple/mac guy, i had no idea how pc video standards worked. i found the history fascinating.



My first CGA memory.


Looking at the rendering on the main product page, it looks like the only inputs are the VC inputs horizontally across the top. Is that correct or am I reading the markings incorrectly?


yes, thats correct. there are 3 vco cv inputs, and 3 adc inputs. the adc vc inputs are what you would use to input camera signals and such in to.


Can’t wait to take some full color RGB footage for a walk into this digital territory.


I can’t wait to see some CGA goodness