(Better) Full Motion Video On The First PC

Ladies

Ten years ago, [Trixter] created 8088 Corruption, a demo for the original PC, the IBM 5150, that displayed full motion video using a CGA card and a SoundBlaster. It was hailed as a marvel of the demoscene at the time, garnered tons of hits when it was eventually uploaded to Google Video, and was even picked up by the nascent Hackaday.Now, ten years later, and seven years after [Trixter] said full motion video using the graphics mode of a CGA adapter was impossible, he’s improved on his earlier work. Now, it’s possible to display video at 640×200 resolution at 30 frames per second on a 30-year-old computer.

[Trixter]’s earlier work used the text mode of the CGA adapter, only because the 40×25 character, 16 color mode was the only graphics mode that could be entirely updated every single frame. It’s still one of the high points of the PC demoscene, but from the original video, it’s easy to see the limitations.

A while back, [Trixter] said displaying video using his computer’s graphics mode was impossible. He’s had years to think about this statement, and eventually realized he was wrong. Like the developers of modern video codecs, [Trixter] realized you don’t need to change every pixel for every frame: you only need to change the pixels that are different from frame to frame. Obvious, if you think about it, and all [Trixter] needed to do was encode the video in a format that would only change dissimilar pixels from frame to frame, and manage the disk and memory bandwidth.

After reencoding the 10-year-old demo for graphics mode, [Trixter] turned toward his most ambitious demo to date: playing the ‘Bad Apple’ animation on an 8088. As you can see in the video below, it was a complete success.

Continue reading “(Better) Full Motion Video On The First PC”

The Sega Mega Drive Dev Kit

segaWhile most homebrew video game development has focused on the original NES, Atari consoles, and has produced a few SNES games, there is another console out there that hasn’t seen much love. Sega’s classic console, the Genesis or Mega Drive, depending on where you’re from, was an extremely capable machine with amazing capabilities for its time. [Chris] figured the Mega Drive would make a good target for an all-in-one development kit, and with a lot of work he managed to put one together.

The standard cartridge for the Genesis or Mega Drive is just a simple ROM chip wired directly into the console’s address space. [Chris] took a cheap FPGA and some dual port ram to create a seamless interface between the modern world and the inside of this ancient console, allowing him to load every Mega Drive game off an SD card, as well as use modern tools to modify old games, or even create new ones.

To demonstrate his dev kit, [Chris] took a copy of Sonic 1, and using the debugger and GDB, gave himself infinite lives. It’s a very cool demonstration, searching through all the commands executed by the Megadrive CPU with the standard Linux debugging tools.Going through the trace, [Chris] found the instruction that decremented that value representing Sonics lives, replaced it with NOPs, in effect giving himself infinite lives. This is a lot like how the Game Genie works, only using much, much better tools.

Of course a USB dev kit wouldn’t be much use if it could only modify existing games. The real power of [Chris]’ work comes from being able to develop your own demos, games, and homebrew apps.

[Chris] needed to write a small homebrew Mega Drive app for the ROM loader portion of his dev kit using SGDK. Disassembling his own code with the dev kit, he was able to take a look at the instructions, and potentially even modify his loader.

It’s a really impressive technical accomplishment, and something that could be a boon to the extremely small homebrew scene for the Mega Drive. All the boards, code, and everything else are available over on [Chris]’ github, with the entire project written up on hackaday.io. Videos below.

Continue reading “The Sega Mega Drive Dev Kit”

High Voltage Monitor Power Supply Conversion

Repurpose An Old CRT Computer Monitor As A High Voltage Science Project Power Supply

Finally somebody has found a good use for all those old CRT computer monitors finding their way to the landfills. [Steven Dufresne] from Rimstar.org steps us through a very simple conversion of a CRT computer monitor into a high-voltage power supply. Sure you can make a few small sparks but this conversion is also useful for many science projects. [Steve] uses the monitor power supply to demonstrate powering an ionocraft in his video, a classic science experiment using high voltage.

The conversion is just as simple as you would think. You need to safely discharge the TV tube, cut the cup off the high voltage anode cable and reroute it to a mounting bracket outside the monitor. The system needs to be earth grounded so [Steve] connects up a couple of ground cables. One ground cable for the project and one for a safety discharge rod. It’s really that simple and once wired up to a science project you have 25kV volts at your disposal by simply turning on the monitor. You don’t want to produce a lot of large sparks with this conversion because it will destroy the parts inside the monitor. The 240K Ohm 2 watt resistor [Steve] added will help keep those discharges to a minimum and protect the monitor from being destroyed.

Yes this is dangerous but when you’re working with high-voltage science experiments danger is something you deal with correctly. This isn’t the safest way to get high-voltage but if you have to hack something together for a project this will get you there and [Steve] is quite cautious including warning people of the dangers and how to safely discharge your experiment and the power supply after every use. This isn’t the first high-voltage power supply that [Steve] has constructed; we featured his home-built 30kV power supply in the past, which is a more conventional way to build a HV power supply using a doubler or tripler circuit. Join us after the break to watch the video.

Continue reading “Repurpose An Old CRT Computer Monitor As A High Voltage Science Project Power Supply”

Digital Pinball With Force Feedback

pinball Hang around Hackaday long enough and you’ll hear about MAME, and all the other ways to emulate vintage arcade machines on a computer. The builds are usually fantastic, with real arcade buttons, MDF cabinets, and side graphics with just the right retro flair to make any connoisseur of ancient video games happy. MAME is only emulating old video games, though, and not physical systems like the digital pinball system [ronnied] put up on the Projects site.

[ronnied] was inspired by a real life, full-size White Water pinball machine at his previous job, and decided it was high time for him to acquire – somehow – a pinball machine of his own. He had a spare computer sitting around, an old 16:9 monitor for the main playfield, and was donated a smaller 4:3 monitor for the backglass. With an MDF cabinet, PinMAME, and a little bit of work, [ronnied] had his own machine capable of recreating hundreds of classic machines.

The build didn’t stop at just a few arcade buttons and a screen; [ronnied] added a 3-axis accelerometer for a tilt mechanism, solenoids and a plunger torn from a real pinball machine for a more realistic interface, and a Williams knocker for a very loud bit of haptic feedback. We’ve seen solenoids, buzzers, and knockers in pinball emulators before, and the vibrations and buzzing that comes with these electromechanical add ons make all the difference; without them, it’s pretty much the same as playing a pinball emulator on a computer. With them, it’s pretty easy to convince yourself you’re playing a real machine.

Videos of the mechanisms below.

Continue reading “Digital Pinball With Force Feedback”

The Open Hardware Driver For CRTs

driverCRTs are the king of displays for any homebrew project. They have everything – high voltages, high vacuums, X-rays, and the potential for a vector display – that makes a project exude cool. Getting an old CRT up and running, though, that’s another story. Never rear, because now there’s an Open Hardware eletrostatic CRT driver for your next display.

[Eric] designed a driver circuit that should be able to send a picture to most 2″, 3″ and some 5″ electrostatic CRTs, the kind found in ancient TVs and oscilloscopes. The 1kV power supply uses a transformer usually found in a CCFL bulb, and is able to produce several milliamps. You’ll want to keep one hand behind your back when working on this.

The driver circuit takes a 0-3.3V analog signal for deflecting the beam along the X and Y axis. The amplifier has enough bandwidth to handle NTSC video, so displaying video along with vector letters and shapes is also a possibility with this circuit. Most of the files are available on the git, with three boards available to be ordered from OSHPark.
Thanks [Mike] for the tip.

Mini Ms. Pacman

MsThe bragging rights of owning a vintage arcade machine are awesome, but the practicality of it – restoring what is likely a very abused machine, and the sheer physical space one requires – doesn’t appeal to a lot of people. [Jason] has a much better solution to anyone who wants a vintage arcade machine, but doesn’t want the buyer’s remorse that comes with the phrase, “now where do we put it?” It’s a miniaturized Ms. Pacman, mostly scale in every detail.

The cabinet is constructed out of 1/8″ plywood, decorated with printed out graphics properly scaled down from the full-size machine. Inside is a BeagleBone Black with a 4.3″ touchscreen, USB speakers, and a battery-backed power supply.

The control system is rather interesting. Although [Jason] is using an analog joystick, the resistive touch screen monopolizes the ADC on the BeagleBone. The solution to this problem would be to write a driver, or if you’re [Jason], crack the joystick open and scratch away the resistive contact until you have a digital joystick. A nice solution, considering Ms. Pacman doesn’t use an analog joystick anyway.

Pictures over on [Jason]’s G+ page, along with a vertical video that G+ displays properly. Thanks, Google.

Propeddle, The Software Defined 6502

When it comes to building retrocomputers, there are two schools of thought. The first is emulation, that allows for greater compatibility and ease of use, and much easier to find parts. The second requires real, vintage hardware with all the bugs and idiosyncrasies found in vintage chips. Reconciling these two ideas is hard, but the software defined Propeddle manages to do it, all while using a real 6502 CPU.

The trick here is using a Parallax Propeller for the heavy lifting of loading the ROM into RAM with an extremely clever technique using the Reset and NMI pins, generating the clock and other signals required by the 6502, and hosting the keyboard, serial, and video I/O. Already [Jac] has the Propeddle running as an Apple 1 emulator (video below), making it possible to write programs for the Propeddle in BASIC or assembly.

It’s a great design that allows for emulation of a lot of the classic 6502 computers with a real CPU, all while doing away with the cruft of expensive ACIAs and video generation hardware. Awesome work, and we can’t wait for the next version that will be dedicated to [Bill Mensch].

Continue reading “Propeddle, The Software Defined 6502”