Jump to content

Photo

My Pet Project - MMDC Retro Player

Atari 2600 VCS FPGA

75 replies to this topic

#1 Crispy OFFLINE  

Crispy

    Space Invader

  • 49 posts

Posted Fri Jan 22, 2016 2:24 PM

I've been working on this project off and on (mostly off) since 2010. It's still a work in progress, but it's far enough along now that I feel comfortable in sharing it. The original goal of the project was to recreate an Atari 2600 in an FPGA, but as things progressed the project goals became more ambitious. What I ended up with is an FPGA based Atari 2600 that uses HDMI instead of RF for its television interface, and USB for a slew of implemented and planned features, all wrapped up in an enclosure that is styled to resemble a Walkman.

 

For those who are interested, I wrote the RIOT and TIA cores in Verilog from scratch, and used the FPGA Arcade branch of Daniel Wallner's "T65" 6502 CPU core. Special thanks to Mike Johnson and Wolfgang Scherr over at FPGA Arcade (www.fpgaarcade.com) for updating the T65 core, and for sharing their work.

 

Features

  • Atari 2600 hardware faithfully recreated in an FPGA.
  • HDMI video/audio output for connecting to modern TVs.
  • Analog audio line output for use when connecting to a DVI monitor that doesn't have sound.
  • Full support for most Atari 2600 peripherals.
  • Enclosure styled to resemble a Walkman for total immersion in nostalgia.
  • Pause button that will freeze the game for those times when you need to take a break.
  • USB connector for upgrading the firmware, and also for a multi-protocol communications bus.
  • Test pattern generator that can be used to aid in adjusting your TV settings.

Planned Features

  • Capture screen shots to FLASH, and then transfer to a PC via USB.
  • Capture live game video and audio to a PC via USB.
  • Save and recall machine states.
  • PAL timing and palette.

Wish List

  • Complete debugging/monitor environment on PC via USB with flexible user specified triggering for trapping any hardware condition.
  • Other things I have yet to think of.

Specifications

 

HDMI

  • Video Formats
    • 640 x 480 @ 59.94 Hz
    • 800 x 600 @ 59.94 Hz
    • 1024 x 768 @ 59.94 Hz
    • 1280 x 720p @ 59.94 Hz
    • 1600 x 1200 @ 59.94 Hz
    • 1920 x 1080p @ 59.94 Hz
    • 1920 x 1200 @ 59.94 Hz
  • Audio Formats
    • 48 KHz linear PCM, 2 channels

Analog Audio

  • 940 mV P-P into 47K ohms
  • 360 mV P-P into 600 ohms

Test Patterns

  • H Ramp
  • V Ramp
  • H grayscale bars
  • V grayscale bars
  • 100% color bars
  • 75% pseudo SMPTE color bars
  • 16 x 16 cross hatch
  • H burst

Photos

 

View of the rear side: HDMI and joystick connectors.

mmdc_rear.jpg

 

Another view of the rear side.

mmdc_rear2.jpg

 

View of the left side: buttons, USB connector, B&W/Color switch, left and right difficulty switches.

mmdc_left.jpg

 

Another view of the left side.

mmdc_left_up.jpg

 

Top down view of the main PCB.

main_board.jpg

 

All ready to go. Just press PLAY.

ready_to_play.jpg


Edited by Albert, Wed Oct 26, 2016 8:41 AM.


#2 travistouchdown OFFLINE  

travistouchdown

    River Patroller

  • 3,044 posts
  • Do the math!
  • Location:Burlington, Vermont

Posted Fri Jan 22, 2016 2:37 PM

Dude!! That is rad!  

 

Not only is it compact but HDMI!! Beautiful design.

 

Any plan for a production run or?  I imagine you put more than a few hours into this....



#3 Tinman OFFLINE  

Tinman

    Chopper Commander

  • 209 posts
  • Location:Tampa, FL

Posted Fri Jan 22, 2016 2:52 PM

Wow! That is very cool. If you were to produce them, I'd be very interested.

#4 Keatah OFFLINE  

Keatah

    Quadrunner

  • 14,977 posts

Posted Fri Jan 22, 2016 3:52 PM

The switches should be less recessed than they are now.

Can this accept non-standard cart sizes like a supercharger or xonox double ender?

How about make the ff and rw buttons actually fast forward or rewind through the game? This can be done brute force by keeping a buffer of savestates.

#5 Crispy OFFLINE  

Crispy

    Space Invader

  • Topic Starter
  • 49 posts

Posted Fri Jan 22, 2016 5:36 PM

 

The switches should be less recessed than they are now.

Good eye. Yes, they are recessed a bit too far. I had designed the PCB and enclosure so that the ends of the switches would stick out about 20 mils when the part is centered on its footprint. The switch leads are much smaller than the holes on the PCB, and I must have positioned the switches too far back when I soldered them on the board. I would take it apart, and reposition the switches, but I'm in the process of making some design changes to the enclosure, one of which is adding a 20 mil chamfer to all of the switch cutout edges.

 

 

Can this accept non-standard cart sizes like a supercharger or xonox double ender?

That is a good question. The cartridge well is 2.65 inches long, and was designed so that 1.2 inches of a standard Atari cartridge would be exposed when the cart is fully inserted. This, I thought, was enough to grab onto in order to make it easy to remove the cartridge. Do you have the dimensions for the supercharger and xonox cartridges?

 

 

How about make the ff and rw buttons actually fast forward or rewind through the game? This can be done brute force by keeping a buffer of savestates.

That's an interesting idea. Currently, the fast forward button is used as the Game Select switch, and the rewind button for the Game Reset switch while the game is not paused. When the game is paused, then the fast forward and rewind buttons are used to control an OSD menu that allows the user to do things like change the HDMI output format, adjust the VCS vertical size and centering, and turn on and select test patterns. I'm sure I could purpose the buttons for additional functions as well.



#6 Junosix ONLINE  

Junosix

    Chopper Commander

  • 115 posts
  • Location:UK

Posted Fri Jan 22, 2016 5:55 PM

That is well cool!  Nice work.



#7 hizzy OFFLINE  

hizzy

    Moonsweeper

  • 418 posts
  • Location:Montreal, QC

Posted Fri Jan 22, 2016 6:34 PM

Woah! So cool!



#8 almightytodd OFFLINE  

almightytodd

    Dragonstomper

  • 754 posts
  • Infrequent Poster
  • Location:Orlando, Florida

Posted Fri Jan 22, 2016 8:56 PM

Awesome!



#9 Two-in-the-Belfry OFFLINE  

Two-in-the-Belfry

    Chopper Commander

  • 227 posts
  • Ask me about my dogs

Posted Fri Jan 22, 2016 10:14 PM

This is awesome!



#10 bigfriendly OFFLINE  

bigfriendly

    Chopper Commander

  • 152 posts
  • Location:Alabama

Posted Sun Jan 24, 2016 9:43 AM

This is really cool! Any clue what one of these would cost?



#11 Mountain King OFFLINE  

Mountain King

    Dragonstomper

  • 602 posts
  • Location:Philadelphia, PA

Posted Sun Jan 24, 2016 1:23 PM

This thing is pretty cool!



#12 phattyboombatty OFFLINE  

phattyboombatty

    Stargunner

  • 1,062 posts
  • Location:San Diego, CA

Posted Sun Jan 24, 2016 5:19 PM

Super project! Love the efficiency and stylishness. And it looks great for portability. I can visualize taking this to my my brother's house or to the in-laws'!

#13 BladeOfOsiris OFFLINE  

BladeOfOsiris

    Space Invader

  • 46 posts

Posted Sun Jan 24, 2016 11:24 PM

Introducing the Pocket Atari VCS ;)

#14 Keatah OFFLINE  

Keatah

    Quadrunner

  • 14,977 posts

Posted Mon Jan 25, 2016 12:17 AM

I don't have the dimensions of a supercharger cart. But I can tell you it won't fit if it has to go in so deep. Also, this should be tested with a harmony cart, too. Actually I can care less about the supercharger or any other funky shaped carts.

But for a harmony cart to not work, that'd be a deal breaker.

#15 Crispy OFFLINE  

Crispy

    Space Invader

  • Topic Starter
  • 49 posts

Posted Mon Jan 25, 2016 1:15 PM

Dude!! That is rad!  

 

Not only is it compact but HDMI!! Beautiful design.

 

Any plan for a production run or?  I imagine you put more than a few hours into this....

 

 

This is really cool! Any clue what one of these would cost?

 

At one point I considered maybe producing and selling these, but then reality slapped me in the face when I started getting quotes for having the various bits and pieces manufactured. To be honest I really don't want to say what it cost me to have this one-off prototype manufactured, but I'll give you a hint. It was more than the price of an iPad Pro.

 

Since the question came up, I became curious about what it would cost produce these in quantity, so I did some calculations based on some probably wildly inaccurate guestimates, and came of with the following. If I were to do a production run of 100 units, then the retail price would be $769.50 per unit. For a run of 1000 units, the retail price would be $384.75 per unit. The retail price includes what I think is a fair markup over the manufacturing cost.

 

So here's the problem. I could probably find 100 people who would want to buy one of these, but probably none of them would want to pay the $770 retail price. Interesting side note here: this retail price is almost exactly the same as the retail price adjusted for inflation of the Atari VCS when it was released in 1977. The problem is even worse when trying to make a case for a production run of 1000 units. The market probably isn't that big, so I wouldn't be able to sell all of them, and would end up losing a lot of money.

 

Then there are the legal issues to contend with. I remember reading somewhere that Atari holds a number of patents related to the architecture of the TIA chip. Even if those patents have expired, Atari probably still has some ownership of the rights to the intellectual property. I doubt if they would just let me sell these without them getting a piece of the action.

 

Of course if someone comes up with a business plan that would allow us to market my product for a price that people would be willing to pay, then I'm certainly open to that.



#16 BigO OFFLINE  

BigO

    River Patroller

  • 4,079 posts
  • Location:Phoenix, AZ

Posted Mon Jan 25, 2016 1:34 PM

I don't have the dimensions of a supercharger cart. But I can tell you it won't fit if it has to go in so deep. Also, this should be tested with a harmony cart, too. Actually I can care less about the supercharger or any other funky shaped carts.

But for a harmony cart to not work, that'd be a deal breaker.

It's 1.75" from the inserted end back to the point where the Supercharger begins to taper out to a larger dimension. Looks like a no-go with the cartridge well being 2.65" deep. That depth gets you into to the maximum dimensions on the Supercharger.



#17 Crispy OFFLINE  

Crispy

    Space Invader

  • Topic Starter
  • 49 posts

Posted Mon Jan 25, 2016 1:42 PM

I don't have the dimensions of a supercharger cart. But I can tell you it won't fit if it has to go in so deep. Also, this should be tested with a harmony cart, too. Actually I can care less about the supercharger or any other funky shaped carts.

But for a harmony cart to not work, that'd be a deal breaker.

Yeah, I was kind of worried about odd shaped cartridges, that's why I abandoned my original plan. When I first came up with the idea of the Walkman enclosure, I was going to make it exactly like a Walkman. It was going to have a door that flips open when you press the STOP/EJECT button. You drop the cartridge in, close the door, and then press the PLAY button which causes the cartridge connector to slide in and connect to the cartridge after which the hardware powers up. When you press the STOP/EJECT button it would turn the power off, and disengage the connector. Press the STOP/EJECT button again, and the door flips open.

 

First, the mechanical design for something like that would be complex, but the bigger problem is that it would only work with standard Atari cartridges. So then I had the idea of designing the cartridge slot so that when the cartridge is fully inserted, the end of it would be flush with the edge of the enclosure. Pressing the STOP/EJECT button would then turn off the power, and push the cartridge out. Then I realized that the force required to push the cartridge out would probably be more than plastic parts could handle, so I would have to make the mechanism out of some kind of metal.

 

I arrived at my current design as a sort of compromise. I didn't want the cartridge to stick out too far, because I thought that it wouldn't be visually appealing, but I needed enough of it sticking out to have to something to grab onto in order to remove the cartridge. It was at that point when I considered maybe making some kind of extender/adapter cartridge that puts a connector out close to the end of the enclosure so that odd shaped cartridges would plug in.

 

OK, that's enough rambling for now. Yes, I have a Harmony cartridge, and it works perfect. In fact, I'm pleased that every cartridge and every game that I've tried works. Even the game "Meltdown", which breaks on emulators, works fine on my hardware. That makes me a happy boy.


Edited by Crispy, Mon Jan 25, 2016 1:47 PM.


#18 SpiceWare OFFLINE  

SpiceWare

    Quadrunner

  • 10,429 posts
  • Medieval Mayhem
  • Location:Planet Houston

Posted Mon Jan 25, 2016 1:51 PM

Slick!
 

Video Formats

  • 640 x 480 @ 59.94 Hz
  • 800 x 600 @ 59.94 Hz
  • 1024 x 768 @ 59.94 Hz
  • 1280 x 720p @ 59.94 Hz
  • 1600 x 1200 @ 59.94 Hz
  • 1920 x 1080p @ 59.94 Hz
  • 1920 x 1200 @ 59.94 Hz

Since the frame rate is totally under the program's control, it's common for games to output an invalid number of scanlines, and thus a different frame rate.  Old analog sets could handle this for the most part. Modern sets sometimes have trouble. What happens on your device when a game doesn't run at 60 fps?
 
Digital Press has a nice scanline list. Anything other than 262 scanlines will be at a framerate other than 60.  A few examples:
 
Buck Rogers uses 240 scanlines at 65.50 fps
Screen Shot 2016-01-25 at 1.42.15 PM.png
 
Cosmic Commuter uses 259 scanlines at 60.69 fps
Screen Shot 2016-01-25 at 1.41.27 PM.png
 
Desert Falcon uses 281 scanlines at 55.94fps
Screen Shot 2016-01-25 at 1.42.48 PM.png
 
It's also comon for frame rates of a game to change depending upon what's being displayed.  Desert Falcon drops to 279 at 56.34 fps during it's demo:
Screen Shot 2016-01-25 at 1.47.56 PM.png
 
and 280 at 56.14 fps while playing:
Screen Shot 2016-01-25 at 1.49.04 PM.png

#19 Jinroh OFFLINE  

Jinroh

    Moonsweeper

  • 429 posts
  • Catgirl Maid Lover

Posted Mon Jan 25, 2016 2:00 PM

Wow very nice! I love the design, it's so suave!



#20 Crispy OFFLINE  

Crispy

    Space Invader

  • Topic Starter
  • 49 posts

Posted Mon Jan 25, 2016 2:23 PM

Since the frame rate is totally under the program's control, it's common for games to output an invalid number of scanlines, and thus a different frame rate.  Old analog sets could handle this for the most part. Modern sets sometimes have trouble. What happens on your device when a game doesn't run at 60 fps?

Simple answer: the triple buffer either drops a frame or repeats a frame every so often depending on how the two timings are beating against each other.

 

Complex answer: I had originally intended to genlock my output vertical timing to the vertical timing from my VCS core. That would produce a nice low latency display without the artifacts of a triple buffer that drops or repeats a frame every so often. But then I discovered that a lot of games out there produce odd or unstable vertical timing, and that is an insurmountable problem. Most modern HDMI televisions have very little tolerance to video timing that veers from the VESA or SMPTE standards that it supports. In fact some television designers are absolute Nazis about it. If the video timing is even a tiny fraction off from the SMPTE or VESA standard, then they consider it an invalid signal, and black out the display.

 

Now, I've designed my triple buffer for the lowest latency possible. with the best case being 5 lines, and worst case 1 frame of latency, but the problem remains that a triple buffer will drop or repeat a frame every so often when the input and output timings differ. That's just the nature of the beast. Of course I could go with a single buffer which would get rid of the frame drops and repeats, but would show a screen tear rolling through the image every so often. I think I would rather live with the effects of the triple buffer.


Edited by Crispy, Mon Jan 25, 2016 2:34 PM.


#21 Great Hierophant OFFLINE  

Great Hierophant

    Stargunner

  • 1,150 posts
  • Scribbler
  • Location:Massachusetts

Posted Sun Mar 6, 2016 11:58 PM

 

 

 

At one point I considered maybe producing and selling these, but then reality slapped me in the face when I started getting quotes for having the various bits and pieces manufactured. To be honest I really don't want to say what it cost me to have this one-off prototype manufactured, but I'll give you a hint. It was more than the price of an iPad Pro.

 

Since the question came up, I became curious about what it would cost produce these in quantity, so I did some calculations based on some probably wildly inaccurate guestimates, and came of with the following. If I were to do a production run of 100 units, then the retail price would be $769.50 per unit. For a run of 1000 units, the retail price would be $384.75 per unit. The retail price includes what I think is a fair markup over the manufacturing cost.

 

So here's the problem. I could probably find 100 people who would want to buy one of these, but probably none of them would want to pay the $770 retail price. Interesting side note here: this retail price is almost exactly the same as the retail price adjusted for inflation of the Atari VCS when it was released in 1977. The problem is even worse when trying to make a case for a production run of 1000 units. The market probably isn't that big, so I wouldn't be able to sell all of them, and would end up losing a lot of money.

 

Then there are the legal issues to contend with. I remember reading somewhere that Atari holds a number of patents related to the architecture of the TIA chip. Even if those patents have expired, Atari probably still has some ownership of the rights to the intellectual property. I doubt if they would just let me sell these without them getting a piece of the action.

 

Of course if someone comes up with a business plan that would allow us to market my product for a price that people would be willing to pay, then I'm certainly open to that.

 

I don't think you have to worry about Atari unless you invoke Atari in the name of your device.  Then you face trademark infringement issues.  

 

Actually, I have always wondered about Atari's patents, if any, on the TIA or the 2600 console.  Atari could not patent the functionality of the 6507 or the 6532, those were MOS chips that anyone could purchase.  The TIA was Atari's custom chip and not available outside the company.  Coleco and Mattel cloned the TIA for their 2600 compatible devices.  If Atari had any patents on the TIA, it could have nipped the clone efforts in the bud.  I suspect that Atari instead relied on the architecture of the 2600 and the TIA being protected as a trade secret.  Unfortunately, trade secrets lose protection to the outside world's exploitation once they cease being secret, and Atari's programmers knew all about the system.  Whatever the historical context, patents expire after 20 years, so your device is quite safe.  Unfortunately, the price is not sustainable.



#22 IsARealBoy88 OFFLINE  

IsARealBoy88

    Space Invader

  • 38 posts

Posted Mon Aug 29, 2016 9:39 PM

Wow man, that's impressive! I dig it:)

#23 Waggie OFFLINE  

Waggie

    Dragonstomper

  • 560 posts
  • Location:Dayton, OH

Posted Wed Sep 21, 2016 10:13 AM

Atari couldn't stop any of the clones back in the day, so I don't think there are any issues with selling the hardware.  Which functions are the various buttons mapped to? 



#24 Metal Jesus OFFLINE  

Metal Jesus

    Dragonstomper

  • 983 posts
  • Location:Seattle

Posted Tue Sep 27, 2016 3:08 PM

I just saw this is going to be at PRGE this year... it looks amazing! I love those old Sony Walkman's back when I was in high school and I am a diehard Atari 2600 fan.

 

If you ever wanna let me do a video on it for my YouTube channel, I would be HONORED. 



#25 Crimson Tibiasm OFFLINE  

Crimson Tibiasm

    Space Invader

  • 13 posts
  • Location:Texas

Posted Tue Sep 27, 2016 9:07 PM

Good thinking on the use of FPGA's I've always wanted to look more into the programming language HDL. Did you know there's a computer called MIST. I ran into this sometime last fall on a video that I saw. 

 

If you are interested here's a link to the video: 


Edited by Crimson Tibiasm, Tue Sep 27, 2016 9:07 PM.






Also tagged with one or more of these keywords: Atari, 2600, VCS, FPGA

0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users