Jump to content
5-11under

Microvision Homebrew - Barrage 2021

Recommended Posts

I thought about making games for the Microvision close to 10 years ago, when I was working on trying to reconstruct the Microvision (using an Arduino compatible microcontroller and color LCD screen). Somewhere I have some "screenshots" of games that I thought would work well for the Microvision, with it's 16x16 monochrome display and paddle controller. I started buying games and systems as part of both of these projects. The reconstruction was cancelled after I found out that duplicating the LCD was an easier and cheaper solution. The games programming was still in my head, though.

 

If you recall, there's an unreleased game for the Microvision, Barrage, that was advertised in the Montgomery Ward Christmas catalog for 1982. I think all that exists is this picture from the catalog:

 

MB-MVBarrage.jpg.610ba8875ce8411e0c2c3dc0633f1f37.jpg

 

I thought it would be fun to create a game based on this picture. I call it Barrage 2021, so it's not completely confusing compared to the unreleased game. About 3 years ago I started programming the game. It got lost in busyness, and about 2 months ago, I finally finished it off with some tweaks and an additional game mode.

 

Somewhere in there, I also made a few board layouts for the Microvision. I've got a newer one, but this is the one I used (because apparently at some point I bought a batch of boards):

 

PCB.png.60ed63e51460d0ec32fdbd3b8f804774.png

 

The original Microvision games use old microprocessors that are difficult to find and program, so instead, I'm using relatively modern parts... an Atmega328 as well as a 9V<->5V level shifter. The '328 has some EEPROM space, which I've used to store high scores. I programmed the game in the Arduino IDE, and programmed the '328 with a TL866 programmer (without the Arduino bootloader). Programming the Microvision has some similarities to chasing the beam on the Atari 2600, as you need to refresh the screen on a regular basis. There's a few other timing/switching things to be concerned about, but mostly it involves setting up the row (or column) patterns you want to display, and sending out that data on a regular basis. To help in this, I set up a bit of a "state machine", to make it fairly easy to output the correct display, depending on the current status (for instance title screen, setup screen, gameplay screen, game over screen). Just change the mode (state) from 1 to 2, for instance, to switch the display from title screen to gameplay screen.

 

A few years ago I created the box and labels and manual layouts, but lost them when my computer died (back up your files, people!!! ). It's been a crazy year, so I can't even remember if that was one or two years ago. Anyway, over the past month, I recreated those, to match the standard design of other Microvision games. I haven't 100% duplicated everything, but it's close enough, and in some ways makes more sense for today.

 

Hopefully in a few months I'll be able to produce a batch of these for anyone who wants one (don't PM me yet... this might take a while to get everything figured out... there'll be plenty of notice). For the pictures below, all of the materials for the pictures below are printed on regular paper, using a laser printer (instead of being properly printed, with decent paper, mylar, and sticker material). The bezel was also quickly painted by hand, and is cracked - I need to figure out a good and repeatable way to do the painting better. I also just used an existing box - I'd much rather make my own boxes from scratch - so I'll need to find some material for that. Here's some pictures...

 

The box:

ActualBox.thumb.png.02b21837b728d03f1f9c68eafe1d17ff.png

 

Unboxed:

ActualAll.thumb.png.02915d5454da293e9262fa6a8f2366ac.png

 

Manual (outside) and cart with system:

ActualCart.thumb.jpg.8595af08c93a2677551b2572004dfb24.jpg

 

Manual (inside):

ActualManual.thumb.jpg.479424bcbeb40cbd025189d0c1854763.jpg

 

There's a lame backstory in the manual, but basically you need to catch all the single-block-wide "fireballs" that are falling from the sky. However, if you see a double-wide "ship", you want to avoid that. The main mode has one ship every other wave. There's an alternate mode that has a ship much more often. There's 3 skill levels, and 99 waves (30 fireballs/ships per wave), that vary in speed and vary in amount of space between one fireball and the next. As you proceed through the waves, the speed generally (but not always) increases. You start with 8 or 16 "players" depending on skill level, and if you miss a fireball or catch a ship, you lose one player. In the main mode, if you miss the rare ship, you get an extra player, and in the alternate mode, you gain an extra player every other wave. The bottom row of the display shows the number of players.

 

Gameplay video, in the spirit of Blair Witch. ;) Apparently when I'm trying to play a game and hold a phone at the same time, I'm really bad at both. This is the alternate mode (and uses a slightly outdated program file):

 

Cheers!

  • Like 11

Share this post


Link to post
Share on other sites
4 hours ago, 5-11under said:

I thought about making games for the Microvision close to 10 years ago, when I was working on trying to reconstruct the Microvision (using an Arduino compatible microcontroller and color LCD screen). Somewhere I have some "screenshots" of games that I thought would work well for the Microvision, with it's 16x16 monochrome display and paddle controller. I started buying games and systems as part of both of these projects. The reconstruction was cancelled after I found out that duplicating the LCD was an easier and cheaper solution. The games programming was still in my head, though.

 

If you recall, there's an unreleased game for the Microvision, Barrage, that was advertised in the Montgomery Ward Christmas catalog for 1982. I think all that exists is this picture from the catalog:

 

MB-MVBarrage.jpg.610ba8875ce8411e0c2c3dc0633f1f37.jpg

 

I thought it would be fun to create a game based on this picture. I call it Barrage 2021, so it's not completely confusing compared to the unreleased game. About 3 years ago I started programming the game. It got lost in busyness, and about 2 months ago, I finally finished it off with some tweaks and an additional game mode.

 

Somewhere in there, I also made a few board layouts for the Microvision. I've got a newer one, but this is the one I used (because apparently at some point I bought a batch of boards):

 

PCB.png.60ed63e51460d0ec32fdbd3b8f804774.png

 

The original Microvision games use old microprocessors that are difficult to find and program, so instead, I'm using relatively modern parts... an Atmega328 as well as a 9V<->5V level shifter. The '328 has some EEPROM space, which I've used to store high scores. I programmed the game in the Arduino IDE, and programmed the '328 with a TL866 programmer (without the Arduino bootloader). Programming the Microvision has some similarities to chasing the beam on the Atari 2600, as you need to refresh the screen on a regular basis. There's a few other timing/switching things to be concerned about, but mostly it involves setting up the row (or column) patterns you want to display, and sending out that data on a regular basis. To help in this, I set up a bit of a "state machine", to make it fairly easy to output the correct display, depending on the current status (for instance title screen, setup screen, gameplay screen, game over screen). Just change the mode (state) from 1 to 2, for instance, to switch the display from title screen to gameplay screen.

 

A few years ago I created the box and labels and manual layouts, but lost them when my computer died (back up your files, people!!! ). It's been a crazy year, so I can't even remember if that was one or two years ago. Anyway, over the past month, I recreated those, to match the standard design of other Microvision games. I haven't 100% duplicated everything, but it's close enough, and in some ways makes more sense for today.

 

Hopefully in a few months I'll be able to produce a batch of these for anyone who wants one (don't PM me yet... this might take a while to get everything figured out... there'll be plenty of notice). For the pictures below, all of the materials for the pictures below are printed on regular paper, using a laser printer (instead of being properly printed, with decent paper, mylar, and sticker material). The bezel was also quickly painted by hand, and is cracked - I need to figure out a good and repeatable way to do the painting better. I also just used an existing box - I'd much rather make my own boxes from scratch - so I'll need to find some material for that. Here's some pictures...

 

The box:

ActualBox.thumb.png.02b21837b728d03f1f9c68eafe1d17ff.png

 

Unboxed:

ActualAll.thumb.png.02915d5454da293e9262fa6a8f2366ac.png

 

Manual (outside) and cart with system:

ActualCart.thumb.jpg.8595af08c93a2677551b2572004dfb24.jpg

 

Manual (inside):

ActualManual.thumb.jpg.479424bcbeb40cbd025189d0c1854763.jpg

 

There's a lame backstory in the manual, but basically you need to catch all the single-block-wide "fireballs" that are falling from the sky. However, if you see a double-wide "ship", you want to avoid that. The main mode has one ship every other wave. There's an alternate mode that has a ship much more often. There's 3 skill levels, and 99 waves (30 fireballs/ships per wave), that vary in speed and vary in amount of space between one fireball and the next. As you proceed through the waves, the speed generally (but not always) increases. You start with 8 or 16 "players" depending on skill level, and if you miss a fireball or catch a ship, you lose one player. In the main mode, if you miss the rare ship, you get an extra player, and in the alternate mode, you gain an extra player every other wave. The bottom row of the display shows the number of players.

 

Gameplay video, in the spirit of Blair Witch. ;) Apparently when I'm trying to play a game and hold a phone at the same time, I'm really bad at both. This is the alternate mode (and uses a slightly outdated program file):

 

 

Cheers!

Holy crap thats amazing.  Hats off to you sir well done. Love to have that game. 

  • Like 1

Share this post


Link to post
Share on other sites

Nice.

 

I also worked on a Barrage game for Microvision. I did mine with a little PIC uController using assembly language. I'm not sure I could bring myself to use a real processor for this.

 

I got as far as generating the falling objects, controlling the catcher (paddle control) and tracking the score. In my mind I was writing a Kaboom! clone.

 

It was fun reverse engineering the LCD controller protocol, figuring out the paddle reading, and making the speaker chirp.

 

Level shifting was still hacked up.

 

Having solved what I felt were the fundamental problems, I set it aside and never went back to it.

 

If I were forced to come up with a "commercial" product for the Microvision now, that's where I might employ a real processor. My focus would be a "universal cartridge" to eliminate the need to produce that huge cartridge enclosure toward the end of supporting new game development.

 

Some sort of plug in slot would allow memory of some flavor, carrying the game, to be plugged in. It would be really nice to insulate game developers from having to deal with the intricacies and quirks of the OEM LCD communication.

 

Likely, the market, so to speak, would end up calling for a flash cart loaded via USB. That's cool but I like the game-per-cartridge retro vibe, too.

 

Unlike when I originally was tinkering in this arena, the reality of the replacement screen project(s) means there might be a meaningful community interest in goofy projects like this.

 

Given real life, I won't do any of this. But I would follow with interest anyone who did work up something like this.

 

 

  • Like 1

Share this post


Link to post
Share on other sites
22 minutes ago, BigO said:

If I were forced to come up with a "commercial" product for the Microvision now, that's where I might employ a real processor. My focus would be a "universal cartridge" to eliminate the need to produce that huge cartridge enclosure toward the end of supporting new game development.

 

Some sort of plug in slot would allow memory of some flavor, carrying the game, to be plugged in. It would be really nice to insulate game developers from having to deal with the intricacies and quirks of the OEM LCD communication.

Some things to think about there... . My initial thoughts are:

1. It's going to be painful, in a couple of ways, to take apart a bunch of existing carts.

2. For that, maybe I need to try some resin molding.

3. For programming, some subroutines and timer interrupt I think might be sufficient.

  • Like 1

Share this post


Link to post
Share on other sites

I've been looking at resin molding and I agree that it looks like a viable option.

 

Not sure how, but I think I've seen custom keypad overlays. I think I might prefer something like some of the Euro cartridges where they have a hinged flap overlaying the keypad to transfer the force down into the pad.

  • Like 1

Share this post


Link to post
Share on other sites

I was wondering where the Microvision homebrews were. I definitely would buy one if they become available.

Share this post


Link to post
Share on other sites
3 hours ago, atari2600land said:

I was wondering where the Microvision homebrews were. I definitely would buy one if they become available.

There's a few other homebrews. I think they're all one-offs physically (or less), and I think they're all programmed for the TMS1100, so they work with emulators.

Share this post


Link to post
Share on other sites
On 12/21/2020 at 7:45 PM, atari2600land said:

How was Barrage 2021 made?

Pore over the Microvision FAQ (I didn't have the Hughes datasheet at the time) and the system and cartridge schematics.

Hook up a logic analyzer to the data lines between the cartridge and the system.

Inspect the data from all the games.

Figure it all out.

Create a PCB that included all the required items.

Start the programming. Make some changes, program a chip, and try it in the system. Repeat ad nauseum. ;)

 

I don't have a guide or anything like that at the moment. Probably some day... .

 

  • Like 1

Share this post


Link to post
Share on other sites
On 12/20/2020 at 11:22 AM, 5-11under said:

Some things to think about there... . My initial thoughts are:

1. It's going to be painful, in a couple of ways, to take apart a bunch of existing carts.

 

Another option maybe- sell it as a kit- everything minus the cartridge (and maybe the styrofoam pieces, unless those are new) for people willing to hack up their own cartridges...

Many systems go through this once homebrew happens- Channel F, Atari 2600, 5200, Vectrex...  At one point, all homebrew games were harvesting existing games for the shells...  Some of them now have professionally made shells as the demand was worth it, but I don't think the Microvision will hit that level.

Molding or 3D printing might be able to do something good enough...

 

Either way, I want one!  :)

  • Like 1

Share this post


Link to post
Share on other sites
6 hours ago, Rik1138 said:

Another option maybe- sell it as a kit- everything minus the cartridge (and maybe the styrofoam pieces, unless those are new) for people willing to hack up their own cartridges...

Many systems go through this once homebrew happens- Channel F, Atari 2600, 5200, Vectrex...  At one point, all homebrew games were harvesting existing games for the shells...  Some of them now have professionally made shells as the demand was worth it, but I don't think the Microvision will hit that level.

Molding or 3D printing might be able to do something good enough...

 

Either way, I want one!  :)

Yep... the simple solution is to provide the PCB which can be easily swapped out, the manual, and the main label for the game. The next level is the box, which is easy enough, and probably desirable for at least some people. The final level, which is arguably the least important, is the bezel and the mylar overlay. These are easy enough to make (so far; I think), but the shells are glued together, and are very difficult to successfully take apart.

 

If anyone has any solutions to the shell, or has a way to make decent quality shells, please contact me.

Share this post


Link to post
Share on other sites
On 12/21/2020 at 7:45 PM, atari2600land said:

I want to make a homebrew for the Microvision. What do I need?

One of my goals over the next year is to provide the required elements so that anyone, including yourself, would be able to create their own Microvision game relatively easily.

This would include being able to provide any or all of these:

  • Printed materials (and templates if you'd rather get them printed yourself):
    • Manuals
    • Boxes
    • Main label
    • Keypad overlay
    • Bezel
  • Circuit boards, programmable by the user. Boards would feature an Atmega328, that would be programmed using a fairly cheap EPROM programmer and edge connector (other methods may also become available). There's no emulator for this method (using Atmega328 instead of TMS1100), so at this point a programmer and real Microvision are required to test programs that are made.
  • Programming guide and sample program(s), for the Arduino IDE, including all basic requirements for the Microvision.
  • Shells. There's a few options available, but they all come with cost and/or quality limitations. This one will take the most time, and I'm guessing will also have the greatest cost.

Share this post


Link to post
Share on other sites
43 minutes ago, WolfCrow said:

Looks great! how close are you to finishing the project?

 

I'm not sure if the local print shop is open. I need to see if they can print on mylar. All the other printing they can do. I also need material for the boxes, which I don't think will be too difficult. Finally, I need to open up enough shells, without breaking them. This is a very short-term solution... I'm working on trying to find a supplier for new shells.

All this likely adds up to a month or two, approximately.

Share this post


Link to post
Share on other sites

FYI, I'll be buying materials to do resin molding to make new game shells. Other decent options are too expensive.

 

This will take some extra time, because the larger molds (main front and back pieces) for this are not for absolute beginners. I'll need to start with some simpler molds to gain some experience in the molding process.

  • Like 1

Share this post


Link to post
Share on other sites

How is the programming guide/emulator part going? I really want to make my own Microvision game.

Share this post


Link to post
Share on other sites
5 minutes ago, atari2600land said:

How is the programming guide/emulator part going? I really want to make my own Microvision game.

Programming guide, and reprogrammable boards. No emulator. Progressing slowly... planning to have it all ready about the same time.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...