Porting Video Games To VHS

Although VHS-based games have existed for about as long as VHS players have sat in millions of living rooms, they always tended to be rather sparse gaming experiences. For example, the ActionMax gaming “console” that [Throaty Mumbo] shows off in his most recent video. You use a zapper to purportedly shoot down on-screen targets in “games” like Sonic Fury. After this disappointing experience, he figured he should probably make his own interpretation of a VHS-based video game.

This involves a DE1-SoC FPGA board along with an RP2350 MCU. There’s also an in-progress GitHub repository for those who wish to follow along. Rather than the simplistic Action Max system that plays exactly the same every time along with a basic light gun feature, this actually allows for interactive gameplay.

The video shows that the VHS tape contains both binary data for the game, as well as a number of video streams. This is decoded using the DE1’s composite input, with the RP2350 then acting on the decoded game data and handling input from the controller. With this, interesting effects can be accomplished, such as background video streams for the original Super Mario Bros.

Other demos include Night Trap and a variant of Doom that uses prerecorded video segments along with action events requiring you to press a specific button. Since there’s actual bytecode involved, quite a few more options are available for game development that could have been interesting to a 1980s audience.

It is hard to imagine how hard it was to get the VCR into homes, only for it to vanish again.

13 thoughts on “Porting Video Games To VHS”

  1. You know these fake audio casettes with head in it to provide aux input in car stereos without one? Can something similar be done for VHS tapes? I know the rotating head would make this a huge headache. But there seem to be a plenty of room in the casette body to generate composite signal and transmit it to the head somehow. Still having enough room for esp32 to run the game while receiving controls from bluetooth gamepads. And reasonably sized battery, or even convert power from rotating shafts to charge some supercaps.

    Outcome: VHS casette that you could put into any VHS player, which would instantly turn it into game console.

    1. You could probably spoof the rotating head without having any actual mechanical stuff. Actually it looks pretty difficult to get all the alignment and precision right… The stripes are like 0.05mm wide at 1800 RPM, that’s going to be a tough project.

      1. I bet you could avoid alignment issues by clever engineering of the “write head” on your fake VHS tape. After all, the VCR read head just needs to pick up an appropriately strong magnetic field at the proper time, it doesn’t actually care where it comes from physically.

        As long as you can generate proper magnetic field strength for every position in the head’s path of travel – by clever physical engineering of the write head shape, or by varying the transmit power appropriately in software -you’ve reduced everything to a (still probably very tricky) timing problem.

        Not practical in any way, shape or form, but maybe the sort of impractical that inspires people (much like this project)

        1. The really hard part is that every VHS player extracts the tape from the cassette to wrap that tape around the rotating drum with the read/write head. The actual geometry of the tape path varies with the actual VHS player. Creating a flexible “magnetic transmitter” that any VHS player can extract from the cassette and that will wrap around the drum and somehow stays around that drum while the VHS player “thinks” it is moving the tape would be quite amazing! (Very different from those audio cassette emulators that simply expect the read head to poke through the center hole.)

          1. You could loop a piece of “tape” a magnetic strip through the dummy cassette with a write read head attached to a magnetic encoder similar to the read head to encode data as it encircles the tape path. The trick is to find a vhs with a write head to wire to the board which fits inside the dummy cassette to encode as it makes rotations to change the data on the “tape” as it travels.

      2. Since it’s ~1 head making a pass at a time all you really need to do is make a U shaped transducer and time your pulses right. Strong enough pulsing to be picked up without touching

    2. Could it be done for the lolz? Maybe if you had infinite time and patience.
      Would any reasonable person choose that design rather than a dongle that attaches directly to the standard video-in ports from that era (s-video, rca, or even coaxial)? No.

      1. Do what all inventors of Perpetuum Mobiles have done for ages: fake it and brag about. There will be someone who buys it, that’s for sure.

    3. The tape is pulled back a ways from the cassette/cartridge to where the head is. I think it would take a lot more mechanically than the simple audio cassette tape version.

      But it would be very awesome. I’d definitely read a blog post(s) about what it takes to do that.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.