Hackaday Links: November 26, 2017

Hey, it’s sometime between Black Friday and Cyber Monday. We’re blowing out everything in the Hackaday Store. There’s some great deals in there. Tindie, our lovable robot dog is also heading up hundreds of Tindie deals for Cyber Monday. If you want some electronic stuff direct from the people who make it, this is the sale to check out.

Looking for some other Black Friday/Cyber Monday sales? Adafruit has compiled a list of retailers so I don’t have to. Thanks, Phil. There are deals from Lulzbot to Makerbot, LittleBits to Sparkfun.

The engineer responsible for Dieselgate has been sentenced to 40 months in prison. There are two takeaways from this: 1) The Nuremberg Defense doesn’t work. 2) Don’t build a business plan around breaking the law, despite what the libertarian hellscape of Hacker News tells you.

The theme for next year’s DEF CON has been announced. It’s, “1983”. What does that mean? Brutalist architecture, first of all. They’re also going for a ‘year before 1984’ thing, where everyone installs always-on, far-field microphones in their house and connects them to the Internet. In other news, Alexas and Google Homes are on sale this Black Friday. Big props for the official DEF CON style guide with typefaces and colors, though.

Over on Hackaday.io, [Frank] has created a very interesting and very cool game for the Vectrex. It’s called Bloxorz, and you can think of it as a cross between Marble Madness and Q*Bert. It’s a puzzle game, and now it’s a project on Kickstarter. Want to check out what this game looks like? Take a look at the video. It’s big into the tradition of early-90s puzzle games (a genre we wish would come back), and if I had a Vectrex, I’d buy one.

I told you SparkleCon tickets are on sale, right?

Here’s an argument you can settle. What is the grit designation of sandpaper? Sandpaper comes in various grits, from 60 (very coarse) to 1500, 2000, and 6000 (for polishing, basically). Here’s a question: how are these numbers derived? I have a vague memory from my youth where someone who probably didn’t know what they were talking about said grit sizes are the number of abrasive particles per some unit of area. A 60-grit sandpaper would have sixty particles of aluminum oxide per square quarter inch, for example. This sounds too stupid to be correct, doesn’t fit with the mesh sizes of different grades of sandpaper, and a cursory Googling does not tell me how sandpaper grit sizes are derived. What say you, Hackaday peanut gallery? Where do the numbers on the back of a sheet of sandpaper actually come from?

Finally – A Big-Screen Vectrex

The Vectrex is in no way the most popular console of all time, but it is one of the more unique. Eschewing typical raster-based rendering, it instead relies on a vector-based display. Since the average home television of the era would be completely unable to display such signals, the Vectrex had its screen built in. This got [Arcade Jason] wondering – would it be possible to hook the Vectrex up to a bigger screen?

First, a suitable monitor had to be found. The 19V2000 turned out to be a good candidate – much larger at 19 inches, and found in a variety of arcade cabinets from years past. From there, the project became a matter of identifying the signal outputs of the Vectrex. [Arcade Jason] took the liberty of modifying the levels of the signals on the Vectrex board itself, and then fixing the now-overscanned image on the original screen by adjusting the onboard trimpots. With the Vectrex’s X and Y signals now boosted somewhat, they were wired up to the inputs of the larger arcade screen. For the Z signal, things got even hackier – a Walmart “Computer Amplifier”, typically used for speakers, was instead pressed in to service to amplify the signal.

There are plenty of wires running all over the carpet in this video, but the fact is, it works brilliantly. Future plans involve upgrading to an even larger 23 inch monitor, and possibly even experiments with color vector displays. It just goes to show that the Vectrex, even today, maintains a die-hard following.

Perhaps you’d like to try this, but need to fix your original Vectrex screen first? Never fear – that’s possible, too.

 

32-Bit Processing For The Vectrex Arcade System

Alongside the Commodores, Ataris, Nintendos, and all the other game systems of the 80s, there was a single unique video game system that stood out from the pack. This was the Vectrex, a console with a built-in CRT meant to display vector graphics and only vector graphics. The video game crash of 1983 wasn’t kind to the Vectrex, but it still lives on with a reasonably popular homebrew scene. Still, these homebrew games are limited by the hardware itself. After thirty years, the Vectrex has an upgrade. The Vectrex32 is a coprocessor, designed for the Vectrex cartridge slot, that gives this ancient console better graphics and 32-bit capabilities.

There’s a whole site dedicated to this Vectrex add-on, and the hardware is pretty much what you would expect. There’s a fast PIC32 microcontroller on this cartridge, a USB port, and a dual-port memory chip that’s connected to the Vectrix’s native processor.

Since this add-on cartridge is effectively a computer itself,  the Vectrex32 can operate as a BASIC interpreter for the Vectrex. That’s something the original hardware couldn’t have done, and makes homebrew development much easier.

You can check out a few videos describing the functionality of the Vectrex32 below, along with a few gameplay videos of new homebrew games written specifically for the Vectrex.

Continue reading “32-Bit Processing For The Vectrex Arcade System”

32C3: Vector Video Games

There are a few classic video games that rely on vector graphics and special monitors. Asteroids is incomplete if you’re not playing it in its original arcade format. The same goes with Tempest, Lunar Lander, and the 1983 Star Wars arcade game. Emulation of these games is possible, even with MAME, but the display – like every display you can buy today – is still rasterized. The solution to this problem is to create a vector display output for MAME that works in conjunction with adapter boards and DACs connected to a monitor.

For this year’s Chaos Computer Congress, that’s exactly what [Trammell Hudson] and [Adelle Lin] did. They’ve created an open source vector gaming system that connects MAME to XY monitors and oscilloscopes.

The build uses a custom board equipped with a Teensy 3.1 microcontroller and a 12-bit DAC to convert XY coordinates sent by MAME to vectors that can be displayed on any XY monitor. This, of course, requires a patch to MAME, which the maintainers rejected as being an, “unacceptably hacky way to achieve the intended result.” It does achieve the intended result, though: allowing dozens of vector games playable on whatever monitor supports vector graphics.

So far, [Trammell] and [Adelle] have gotten their system working on Vectrex consoles, analog oscilloscopes set to XY mode, and vectorscopes that litter every broadcast station and surplus shop. Check out [Trammell] and [Adelle]’s talk, and if you want to build the V.st vector display driver, the board is available from OSHPark.

Replacing The CRT In A Vectrex

The Vectrex is a rare beast in the world of retro video games. Introduced in 1982, this was the only video game system to put a monitor right in the console, and it did so for good reason. This was a games system with vector graphics and rotating 3D objects, something that just couldn’t happen on the TV in the family room. A while ago, [John] dug his old Vectrex out of his basement and replaced a faulty logic board. The CRT was still broken, but with a little bit of research and a not-so-ugly kludge, he managed to replace the CRT in a Vectrex.

[John] found someone willing to part with an old CRT online, and after whipping out his credit card, the tube was on his way to his front door. This new tube wasn’t a direct drop in; The original Vectrex had small ears around the edges of the screen that served as mounting points. The new tube had no such ears. Now, a bit of plastic strapping holds the CRT in the chassis. It’s a bit of a kludge, but at least now [John] has a source of Vectrex CRTs.

While the rest of [John]’s repair work didn’t go as well – the Vectrex in question still has all the logic board problems it had when it was taken out of storage. This Vectrex does have a new CRT, and with a bit more work on rehabbing this old machine, it should keep on working for another thirty years.

Whenever you come cross an interesting CRT, make sure you snatch it up. Here’s another offering that uses a tiny screen for some classic MAME action.

3D Printed Mini Vectrex

With the more common availability of 3D printers, making miniature models of retro computer and video game gear is one way to nerd out and not fill the house up. [Jason] was looking around and noticed that no one has modeled the Vectrex video game system and stepped right in to fill the void with a working 3d printed miniature model of the unique early 80’s video game system.

For those who don’t live and breathe retro game systems, the Vectrex is a 1982 8 bit game machine unique in the fact that it comes with its own monochrome vector graphics CRT in the console. [Jasons] model features a 2.2 inch LCD with a SPI interface.

Emulation is powered by a VoCore SBC sporting a 360Mhz MIPS CPU and a modest 32 megs of ram, which is more than enough to handle the 8 bit math and wireframe graphics. The emulator used is a port 0f VECX with the display rerouted to the LCD screen instead of using standard SDL interfaces.

The case was modeled in Sketchup, and the whole lot is powered by a 3v3 lipo battery.  Join us after the break for a quick video of the mini model running the introduction to “Mine Storm” which was the onboard game original to the machine.

Continue reading “3D Printed Mini Vectrex”

Extreme Vectrex Multicart Plays Bad Apple

[Sprite_TM] had a Vectrex console that he wanted to play with. Alas, his makeshift multicart had fallen into disrepair. Rolling up his hacking sleeves, he set about making a new one, a better one. His PCB design included his microcontroller of choice: the ST STM32F411, a 32-bit 100Mhz ARM Cortex M4, along with a 16MB SPI flash chip. [Sprite_TM] wanted to make programming games onto the multicart simple. Using the libopencm3 firmware library for the STM in conjunction with Elm-Chans FatFS, the multicart could be plugged into a computer’s USB port and have any game data dragged and dropped onto it like a USB stick. The PCB then connects directly into the Vectrex’s cartridge port. The first cartridge file is a basic menu that lists all of the game ROMs stored in the flash memory. When the user selects the game the STM loads that ROM file which the menu software then boots.

After loading his entire Vectrex ROM library onto the multicart, [Sprite_TM] realized he had far too much space left over – so he decided to add some extras. His first choice was Bad Apple (YouTube link), a music video made by fans of the Touhou Project game series. The video features black and white silhouettes of the many game characters in a shadow art style. Since its debut, Bad Apple has been ported from everything from the Sega Genesis (YouTube link) to laser scanners (YouTube link). It was time for the Vectrex to join the list.

After ripping the video from YouTube, [Sprite_TM] used MPlayer to save each frame as a PNG along with a wave file of the music. Next, he ran Potrace on the PNG files to get vector versions. Using a custom PHP script, the resulting JSON file was post-processed into relative vectors the Vectrex uses. Digital audio was possible by having the Vectrex’s 8-bit DA-converter perform double duty both for the video circuit and the audio. However, the volume must be turned to the max in order to hear the music. Incidentally, the DAC can only output audio in this scenario when vectors are not being drawn, so the event timing needed to be adjusted. The video and audio data was re-parsed after a modified version of VecX was used to get the timing events synchronized before transferring Bad Apple onto the multicart.

You can see the Vectrex version of Bad Apple after the break, along with a 3D-engine based on Doom levels. The engine is written in C and makes use of the Z-buffer, creating the effect of solid 3D-objects in front of each other.  There are no weapons or enemies to dispatch here, but the effect is impressive nonetheless.

Continue reading “Extreme Vectrex Multicart Plays Bad Apple”