 So, good evening, y'all, or good afternoon, or if you're in Congress time, good morning. NYC Resistor is a Brooklyn-based hackerspace founded in 2008 and inspired, I'm told, by the founding members coming to the CCC and looking at all the things going on here and decided this is something that we need in New York. It occupies the same sweet spot of the Congress, which is the intersection of art and technology. And this talk is a perfect example of that. It's about vector retro gaming, and it's one of the four talks that are being presented here by NYC Resistor. And with that, I'd like to pause here for station identification. No. I'm going to say I'd like you to help me give it up for Adil Lin and Tremel Hudson. Tremel gets the rock star, Mike. Well, thank you all for bearing with us during our technological troubles. So, I'm Tremel Hudson from NYC Resistor. Hi, I'm Adele. Adele Lin from NYC Resistor. And we're here to talk about vectors and vector games and the history of vector games. So we're going to quickly run through the early stages of vector monitors. So at the start, vector monitors were mainly used to display outputs from analog computers. Here you can see the EAI 680, which is used to implement differential equations. And you can see the vectors go like right at the top left corner there. So here you have a bunch of op-amps, outputting and implementing the differential equations and the knobs there, which are used to control the inputs. And you can see all those are great ingredients for creating a video game, which is what happened with Tennis for Two. So at the Brookhaven National Labs, we had physicist William Higginbotham for the demo day decided he wanted to do something a little bit more fun. So instead of demonstrating and calculating ballistic projectiles, he was like, well, let's create a video game. And that's how Tennis for Two came about. In 1997, for the 50th anniversary, there was a secondary creation by another physicist, Peter Tachak. The interesting part of this is that this video game was created entirely out of analog parts. So you had relays, you had resistors that simulated drag, and the star of the show, we were told at the time, was the Germanium alloy transistors, which allowed for really fast switching during gameplay. And I was really lucky earlier this year to be able to do the third, the second recreation of Tennis for Two. But this time, we did it entirely digitally. So the reason for this is this is part of the Silicon City exhibition at the New York Historical Society, and as an exhibit that needed to be up for five months, we weren't able to use analog parts because as we were told, on the day itself, we had engineers at the Brookhaven National Labs having to switch out relays and parts itself. So as you can see, we emulated the original Dumont CRT screen by creating our own cabinets, and this was created using Unity and Arduino's. So Tennis for Two being the original analog video game, Space War is the first ever digital video game, again produced on the PDP-1, ported to a Vectrex. It was wildly popular and lots of people created their own controllers and their own versions of that. A slightly different type of vector display are the storage tube displays. So for example, the Tektronix 4000 series you have here, they used to create really, really beautiful high res drawings, but these are kind of permanent drawings. So as you can see, for example, the Utah teapot here, which is the standard vector drawing of 3D rendering reference, this kind of takes 30 seconds to do the full drawing and kind of then you need to pick it up and shake the thing to kind of reset it. So kind of like Y vectors, Y at a time where video games were done on raster displays, Y vectors, mainly because it was hugely expensive. So the Vectrex were able to draw some really high res drawings using really low bandwidth and low memory, and to use a raster display that would have the buffering to hold a 1024 frame rate of the original Asteroids would have cost thousands and thousands of dollars. And also take a look at kind of the bitmap version of Star Wars versus one done on a vector display. Look at the resolution and the roundness. It's just incredibly beautiful. Vector displays are amazing for doing 3D animation. At the time compared, again, the bitmap version versus the vector version of the tie fighter there, you can get amazing scaling and rotation and really depth to the image and a really kind of much more immersive feel, I think, to playing the game. So there are a couple of different ways to generate the vectors, and these are analog signals that are steering the beam around the scope. There were two main techniques that were used in the Atari systems. The earliest ones were called digital vector generation, and they directly moved the beam around. So Lunar Lander, shown here where we've disabled the Z-channel, so you can actually see the traces, it goes from one point directly to the next. The Tempest later game always returns to the center in between drawing each item, and that's because the analog vector generator takes the output of the DAC and feeds it into a integrating op amp. So the DAC is actually controlling the slope of the line rather than the position that the line goes to, and then they had a transistor that allowed them to short the capacitor to return to the center of the screen. This made for much smoother lines and also reduced the CPU bandwidth required to generate the segments, because they only had to change the value when they wanted to start drawing a different line. As long as it was continuing at the same slope, they could go off and compute other things. Meanwhile, we have plenty of CPU horsepower today, so we can do all sorts of things to improve the efficiency of the displays, like sorting the vectors, and doing a top logical sort so that we minimize the transit time, which is the dominant cost in displaying things on these screens. And we can even do this, a lot of this in small microcontrollers. The board that we've built as part of this open source hardware is built on a Teen C3 and uses a microchip 4922 DAC that gives us 12 bits of analog resolution. So this is basically a do-it-yourself 4K display with literally three components, a Teen C and two DACs. We're also working on a slightly more packaged version, again as open source hardware and open source software that will be more suitable for driving things that need differential outputs or dual-ended outputs. So now that we have a way to generate the vectors, we need some way to display them. My suggestion is save your money. Don't go buy one of those fancy storage scopes. They'll cost you $20,000 and that you can't actually do animations on them. You might already have a digital scope with an XY mode, and it's great for debugging signals, but it quantizes everything down to 8 bits, and it's not really what we're looking for. Keep that in your toolbox for debugging your digital problems. And you can go to Craig's List or eBay and pick up an old CRT analog scope. People are giving these things away for 20 to 50 euros, and they're actually really great displays for a lot of this stuff. You can also find vector scopes from TV stations that are decommissioning all of their NTSC and PAL equipment. I picked up four of them for $100 plus $50 of shipping, and they are super fast, super sharp. They really make great displays. And another option is the Vectrex console, which people were really excited about back in the 80s. This was a home vector arcade game system. We have one up here on loan from CCC Berlin, and it's really easy to convert it from a, to basically remove the 6502 brain that it had and hook up your own DAC, and it doesn't modify, doesn't damage the system at all. Unfortunately, because this is a very low cost display, it doesn't have as much bandwidth as the arcade cabinets. So if you try to use the timing parameters that they have, you end up with kind of an artistic sort of thing. But with a little bit of tweaks in the timing, you can actually get really nice sharp vectors, good reproducibility. And it's really about the same level of exceptional gameplay as a multi-Megahertz oscilloscope. Laser projectors seem like they'd be a natural fit, since they are also XY displays. The problem is that they are even slower than the Vectrex, and most of the arcade games are just much too complicated to play, and you end up with really bad flickering. It might be possible to generate some new games that take advantage of lasers, but until then we kind of shelter our laser project for now. What folks are looking for when they're emulating these Vectrex systems is this sort of beautiful kind of sharp pixel-free lines in the kind of the bloom of the bright vectors, and MAME has a way to emulate that, but it just kind of fuzzes out things, and it's not really as good as the real display. But what MAME does a great job of is emulating thousands of games, including every vector game that's listed on Wikipedia, and you can find the ROMs in the usual sort of places. So we've written a patch for MAME that hooks into it and is able to export those vectors, and it's not a very large patch. Basically, we grab the vectors when they're being handed off to the OpenGL line drawing and send a copy of them out the serial port to the board that we've designed. Unfortunately, the MAME team felt this was unacceptably hacky, and they closed that they rejected the pull request, so until then, you can clone my MAME tree, and I have build instructions on my website. This also works in the MAME for all distribution, which runs on the Raspberry Pi, so if you want to build a small cabinet, you can put a little pi in there with one of these digital analog boards to create a multi-vector arcade game system. So when you go out and you find those ROMs, wherever you find them, you can get the original Space War. You can get Asteroids, which is one of the most popular, highest-grossing games of all time. Tempest and Lunar Lander are really a lot of fun. Star Wars was an officially licensed franchise and is an awesome game. Battlezone is one of the first real 3D-like games. Trek even had a licensed franchise, Empire Strikes Back. Unfortunately, there is no Force Awakens vector game, but if somebody wants to write one, that would be awesome. And really, there's a whole bunch of vector games out there. Most of them are pretty obscure. I had never heard of many of them until I started down this project of building these. Some of them are okay, some of them are just complete ripoffs of other games, but there's a lot of fun things to sort of experiment with. I guess once you've got your games going, you obviously want to make your own custom controls and your own beautiful cabinets. I'm sure everyone has given this a go, but you can design almost anything and print and create anything these days. You can get your controllers from Adafruit, even your own coin receptors, all kinds of different buttons. Take, for example, Tim Bartlett's Asteroid game. He's got the original designs, printed them on and laser cut them and all the CNC patterns that you can get them all on his website. Jürgen Müller also created his own Asteroid's cabinet. It's kind of half-sized. It's using a Vectrex machine and one using the original Asteroid's logic boards. Again, another kind of great example. So now that you have your games, you've got your own cabinets, you actually maybe want to make your own creations. This is Tramol's Clone of Asteroid's Space Rocks, which you can get from his website as well. When you're done playing, you may just want to know what time it is and how many hours you spent. You can make your own scope clock. The TMZ3 has through holes, which you can put your clock crystals on and get this really beautiful display for your home. This is a super cool game that was shown at the Maker Faire in New York earlier this year. It's kind of like one of the first original, the newest original arcade games, something that hasn't really been done in like 30 years. It's got its own like tank controllers. And again, it's a really great custom cabinet. In order to help you do that, we've also got a processing library, which everybody uses processing. You can make your own vector art or processing games and import it to the TMZ3 and again, make your own cabinets, have your own game systems at home. Here's just a quick look of what you need in the processing library. You get your vector lines and then you kind of send them out. So to take this further, I'm part of a group called Code Liberation, and we teach coding for game design to women. And we'll be running a processing to Vectrex Workshop at NYC Resistor. And then we'll be also organizing a demo party night at Baby Castles later on after that. So if you guys are in the region, do come along and join us. But since you're in the region now, at 7.30, you can also find us and the Vectrex and oscilloscope at Hall A2. You'll be able to play all of the original Atari vector games. So yeah, do come and say hi. So thanks so much for coming to the talk. We've got the slides from the talk and a bunch of background material on the website, as well as information on converting the Vectrex and some different vector scopes, and also then the schematics and open source hardware is available from v.st. And with that, we'd love to open up to any questions. So if you want to ask a question, please step up to one of the microphones and make yourself available. In the meantime, the people who are leaving, could you leave please quietly? Do we have a question over there? Have you thought about using multiple lasers to compensate for the slow speed of the laser? Do you think that would be possible? It would certainly be possible. It's very easy to add additional DACs or DAC channels. I haven't tried it personally, and the mechanical setup would also require some amount of calibration. The other thing I've seen some folks do is set up sort of exclusion lists so that a lot of the small text, like the copyright 1979 Atari, gets excluded from what gets drawn, and that seems to help out a lot as well. Thanks. I think we have a question from the signals angel. Yes, the internet is asking, do you see any intentions from manufacturers to invest in vector displays? I don't think anyone is still making CRTs at all, much less vector displays. In fact, even the vector displays are getting fairly rare. There's a lot of projects where folks are trying to rewind the yokes on regular monitors to see if they can use them as vector displays, and it's been kind of a hit or miss affair. The VEC9 game that Adele mentioned was built with a Wells Gardner monitor out of an asteroid's cabinet that had died, and at this point, yeah, we're pretty much scavenging from what's out there. So no more microphone questions here. Oh no, there's one right over there. One short question. You're just using two DACs, so you're just controlling X and Y channel, or are you also controlling the set? We have four DAC channels, and so we have both the... an offset voltage and the Z. So on the Vectrex, you can see that it is doing a bright with that. The demo that's running here on the oscilloscope is that's generating the brightness just by controlling the line drawing speed. Okay, thanks. Say no to Angel, was there another one, or is that that? How is it? Okay, so left side microphone. Well, not directly a question, but I just wanted to note that it is possible to use the PCVGA output to drive an oscilloscope vector. So you don't need external hardware, you can essentially just wire the color channels to the scope. So three channels, X, Y, Z. That gives you eight bits of resolution. Right, that's the hard limit there. Yeah, with these DACs, we get 12 bits, and at eight bits, the stair stepping is very, very noticeable. Another question from the Similes Angel. We've got one more from the internet. What is the display rate like? It depends. Okay, left side microphone. You mentioned that you are working on this board that it makes it easier to use this. Like how far are you producing this or selling this? Or how easy is it to make your own thing like this? So we had a workshop, Adele and I had a workshop at NYC Resistor a few months ago where folks just soldered them together. It's pretty much it's the teensy and the two DACs. There's not for oscilloscope, vectorscope, and the Vectrax, you don't need really anything else. So I don't see any more questions. You said the session is gonna be at 7.30 in A2. That's correct. Thank you very much. So could you join me and thank Tramel Hudson and Adele Lynn again?