What can we say, we’re a sucker for projects featuring our logo. That being said, this one is seriously awesome. [CNLohr] has figured out how to create a vector display output on an oscilloscope… from a VGA port.
He was inspired by a game called Trace Vector, which is done in the same style as some of the old classics like Asteroids. This got [Charles] thinking, and he decided to see what it would take to make his own vector capable display. An oscilloscope is perfect for this, as it already works by controlling the position of the beam (like a vector), as opposed to standard LCDs and CRTs that use rasterizing (horizontal scanning). This means to get the oscilloscope to display a graphic, all you need to do is to vary the voltages going into the X and Y channels — well, at a high speed!
But where are you going to find such a high speed digital to analog converter? Oh yeah, your computer’s VGA port! For a few dollars [Charles] threw together a VGA adapter with a few resistors using just the red and blue outputs (source code). A bit of programming later, and he’s created his own vector display!
Stick around to see our lovely skull and cross-wrenches rotate on his oscilloscope! Oh, and for a more in depth explanation and more impressive vector video demonstration.
Continue reading “Vector Display Output on an Oscilliscope”
This one has been a long time coming. We’re finally seeing an update to [Jaromir’s] retro gaming platform based around and ATmega chip. The thing that was novel about it back in 2009, and continues to be to this day, is the use of VGA output (PAL) from an AVR chip rather than composite video like most offerings.
Good projects never die and recently he picked the hardware up again, spinning a mostly surface mount board and putting together a new website to feature his work. Above you can see a demo of Commander Keen 4 running on the hardware (video below). He’s also has a rather trippy Super Mario port and adapted [Albert Seward’s] PacMan source for the hardware.
The chip is being clocked at 32MHz with VGA clock running at 19.6608 MHz. This gives him sixteen colors with a resolution of 192×144. He concedes that you get better resolution out of composite video, but who needs resolution for retro gaming?
Continue reading “Update From Wayback: AVGA Reborn as RetroWiz”
We’ve never tried using an HDMI to VGA converter with Raspberry Pi. We heard they were expensive and have always just used HDMI out (although DVI would be just as easy). Apparently if you have a VGA converter that isn’t powered the RPi board may output unstable video due to lack of current from the connector. [Orlando Cosimo] shows how to fix the problem with a few inexpensive components.
Just this morning we saw a portable PSU using an LM317. This project uses the same part, but in a different way. [Orlando] uses three resistors in parallel to make the LM317 behave like a current regulator (as opposed to a voltage regulator) which will output about 550 milliamps. Input voltage is pulled directly from the 5V line of the microUSB port. The output is injected into the HDMI connector. This will boost the amount of juice available to the unpowered VGA converter, stabilizing the system.
There are a lot of other power hacks out there for the RPi. One of our favorites is pulling the stock linear regulator in favor of a switch mode regulator.
[via Dangerous Prototypes]
Nintendo’s VirtualBoy – the odd console-inside-a-pair-of-goggles and arguable ancestor of Nintendo’s 3DS – was a marvelous piece of technology for its time. In a small tabletop unit, you were able to play true 3D video games at an impressive 384 x 224 pixel resolution. Of course the VirtualBoy was a complete failure, but that doesn’t mean hardware tinkerers are leaving this wonderful system to video game collectors. [furrtek] has been playing around with his VirtualBoy and managed to add VGA out.
As a 3D system with two displays, any sort of video out was rightfully ignored by the VirtualBoy system designers. Still, [furrtek] wanted some sort of video out on his system, so he began poking around with a small FPGA board to generate some VGA signals.
The two displays inside the VirtualBoy aren’t your normal LCD display – as seen in this iFixit teardown. they’re really two linear LED arrays that generate a single line of 244 pixels, with mirrors scanning the line in the in the Y axis. These LED arrays are controlled by the VirtualBoy CPU through a series of shift registers, and by carefully tapping the lines of each LED array, [furrtek] was able to copy all the image data into the RAM of an FPGA.
After stuffing an XESS XULA-200 FPGA board inside the case of his VirtualBoy, [furrtek] wired up a few resistors for a DAC and installed a VGA out port on the underside of his console. Everything worked the first time he powered it up, and he began playing his VirtualBoy on his big screen TV.
Because [furrtek] is only reading one of the VirtualBoy’s displays, all the 3D data – and the main feature of the VirtualBoy – is lost when it’s displayed on a TV. 3D TVs do exist, though, and we’d love to see an improved version of this that captures data from both of the VirtualBoy displays.
You can see [furrtek]’s video of his mod in action below.
Continue reading “Giving the VirtualBoy a VGA out”
This project is reminiscent of the old days when window managers were an amazing new idea. The difference is that this window-based GUI is running on an ATmega1284 microcontroller. But the behavior and speed of the interface is pretty much exactly what you’d expect if working on an early 90’s home computer. It even uses a mouse as input.
So how is this even possible? The key to the project is a serial to VGA module which handles the heavy lifting involved with generating a VGA signal. We featured one of [Andrew’s] past projects which used an AVR chip to generate the VGA signal. But that doesn’t leave nearly enough cycles to implement something like a window manager, not to mention the fact that it got nowhere near the resolution shown here.
He uses a serial mouse with an RS-232 converter chip to interact with the windows. This is best shown in his video after the break. He’s able to generate and interact with new windows. He even implemented a set of rudimentary controls which allow him to adjust the theme of the windows and drive the audio playback feature included on that VGA controller he’s using.
Continue reading “GUI window manager on an AVR chip”
This simple circuitry makes up the hardware for [Andrew’s] AVR-based VGA generator. He managed to get an ATmega1284 to output a stable VGA signal. Anyone who’s looked into the VGA standard will know that this is quite an accomplishment. That’s because VGA is all about timing, and that presented him with a problem almost immediately.
The chip is meant to run at a top speed of 20 MHz. [Andrew] did manage to get code written that implemented the horizontal and vertical sync at this speed. But there weren’t enough clock cycles left to deal with frame buffering. His solution was to overclock the chip to 25 MHz. We assume he chose that because he had a crystal on hand, because we think it would have been easier to use a 25.174 MHz crystal which is one of the speeds listed in the specification.
Red, green, and blue each get their own two-bit range selected via a set of resistors for a total of 64 colors. As you can see in the video after the break, the 128×96 pixel video is up and running. [Andrew] plans to enlarge the scope of the project from here to make it more versatile than just showing standard images. The code (written in assembly) is available at his GitHub repository.
Continue reading “AVR VGA generator”
The screenshot on the right shows [Quinn Dunki’s] computer project displaying a Hello World program. Well, it’s only showing the word Hello right now, but the concept is the same. This proves that native 6502 code is running on the processor and reliably outputting data through its VGA hardware. That’s a welcome achievement after watching so much work go into this project.
But with anything this complex you can’t expect to make progress without finding bugs. And this step in the journey had a pretty big one in store for [Quinn]. After writing the assembly code and loading it into the machine she was dismayed to find that there were dropped characters all over the place. Now she shows a screenshot and says it’s easily recognizable as a race condition — proving she has a bigger brain than us.
The problem is a pair of uninterruptible processes running on the same AVR chip (part of the GPU she built). They are fighting with each other for control of the processor cycles and she fixed it by making the daughter board seen in the image above. It moves one of the time-critical processes out of that single AVR chip to fix the issue by using an IDT7200L FIFO SRAM chip.