Microcontrollers/atari 2600


Meany105

Still Fresh
Joined
Apr 23, 2010
Messages
48
I have recently Purchased an arduino microcontroller, and although I already have a pjoject planned, I was wondering if it is possible to get something like an atari 2600 emulator running on it. I have checked the specs, and there is enough ram and the CPU is fast enough so that on paper it should work, but has any one tried it, and if so please leave a link for the code.


(yes, my grammar is awful)
 
I've sorry, I have nothing, but this sounds like an interesting project. Perhaps you could do a port of Stella?
 
Although Atari 2600 is older and generally regarded as substantially weaker than later 6502 consoles like NES it takes a decent amount of processing to emulate it well because games rely on really tight timing accuracy. On the other hand, newer consoles would tie up a lot more time in emulating their graphics.

Can you tell us more about your Arduino setup? ie what clock speed, SRAM, how it's outputting video, etc.
 
I just placed the order 3 days ago, and I order the arduino mega which is an 8-bit microcontroller with 8kb of memory and a CPU clocked at up to 16mhz
 
You should probably look at maybe emulating some very early arcade hardware, like an 8080 which used either text mode or a 2 colour raw display (Space invaders, phoenix etc).

Now sure if you could get an 8080 emulator in to that ram though.
 
Well I know that someone has gotten a modified version (no enemies or powerups) supermariobros running using a weaker microcontroller (4k vs 8k), but using an 8x8 led vs a 128 vs 128 LCD screen. He has also gotten adventure, I player pong, chopper, and Space invaders.

Here is a link

http://www.bradsprojects.com/index.php?option=com_content&task=category&sectionid=4&id=14&Itemid=28
 
It's been done on an FPGA, so I don't see why an Arduino couldn't handle it:

http://www.atariage.com/forums/topic/64309-atari-2600-fpga-progress/
http://www.atariage.com/forums/topic/67091-atari-2600-fpga-update-video-pinball-flipper-velocity/
http://tolgaretro.blogspot.com/2007/05/atari-2600-on-fpga.html

Then again, I've had bad experiences trying to get exact timings on Arduino, so if it really is as timing-dependent as Exophase says, it may actually be harder than building it on the FPGA.
 
Meany105 said:
I just placed the order 3 days ago, and I order the arduino mega which is an 8-bit microcontroller with 8kb of memory and a CPU clocked at up to 16mhz

Your planned video output method is still a very important piece of information.

_Sterling said:
It's been done on an FPGA, so I don't see why an Arduino couldn't handle it

FPGA's are extremely different from microcontrollers. They are much better at reimplementing hardware than CPUs are.

Meany105 said:
Well I know that someone has gotten a modified version (no enemies or powerups) supermariobros running using a weaker microcontroller (4k vs 8k), but using an 8x8 led vs a 128 vs 128 LCD screen. He has also gotten adventure, I player pong, chopper, and Space invaders.

This isn't emulation. Interpretive emulation requires on average many clock cycles to emulate an instruction, usually far more than the original CPU did. Dynamic recompilation is not a realistic option for your hardware or planned emulation targets. And you must emulate other components which also have overheads

That aside, calling any "version" of SMB on an 8x8 display representative of or even relevant to the original is an insult to the game, IMO.
 
Last edited by a moderator:
Very interesting thread!

I'm currently trying to use an Arduino Mega to emulate an Oric Microdrive. The purpose of doing this is to make it easy (cheap) to build a micro-SD based 'fully emulated oric microdrive', which can be hooked up to a real Oric/Atmos and pretend to be .. a micro drive. The kicker is that the Arduino AVR is more powerful than the original Oric CPU! :)

My project is still very much in the 'hacking to get Oric DOS and SedORIC understood at the Data pin level' stages, so nothing much to show, but I'm an avid Arduino hacker (use it for MIDI and Synth projects too..) and I would be interested in what progress you make with system emulation.

Of course, you have probably already seen things like this:

http://www.arduino.cc/playground/Main/InterfacingWithHardware#Video

Of interest to you, maybe, is to understand the C64 SID emulation that has already been done ..
 
What's an Oric Microdrive? I think you must have meant something else, maybe the Microtan 2 or Oric-1?
 
Exophase said:
Meany105 said:
I just placed the order 3 days ago, and I order the arduino mega which is an 8-bit microcontroller with 8kb of memory and a CPU clocked at up to 16mhz

Your planned video output method is still a very important piece of information.

_Sterling said:
It's been done on an FPGA, so I don't see why an Arduino couldn't handle it

FPGA's are extremely different from microcontrollers. They are much better at reimplementing hardware than CPUs are.

Meany105 said:
Well I know that someone has gotten a modified version (no enemies or powerups) supermariobros running using a weaker microcontroller (4k vs 8k), but using an 8x8 led vs a 128 vs 128 LCD screen. He has also gotten adventure, I player pong, chopper, and Space invaders.

This isn't emulation. Interpretive emulation requires on average many clock cycles to emulate an instruction, usually far more than the original CPU did. Dynamic recompilation is not a realis
Code:
tic option for your hardware or planned emulation targets. And you must emulate other components which also have overheads

That aside, calling any "version" of SMB on an 8x8 display representative of or even relevant to the original is an insult to the game, IMO.


In response to smb on an 8x8 led screen being considered an insult to the original, my favorite game of all-time is 007 goldeneye for the n64, unfortunately a Custom firmware psp can't emulate the n64 so I use the doom mod, which isn't as graphically advanced and is missing a lot of the original games features. But I don't consider it to be an insult to the original game, kind of like THPS 3 on the Gba rather than the ps2

also, I wasn't saying that it was emulation, I was trying to show that the arduino can run games
 
Last edited by a moderator:
Meany105 said:
In response to smb on an 8x8 led screen being considered an insult to the original, my favorite game of all-time is 007 goldeneye for the n64, unfortunately a Custom firmware psp can't emulate the n64 so I use the doom mod, which isn't as graphically advanced and is missing a lot of the original games features. But I don't consider it to be an insult to the original game, kind of like THPS 3 on the Gba rather than the ps2

also, I wasn't saying that it was emulation, I was trying to show that the arduino can run games

The game isn't an insult - using it to say that a platform with an 8x8 display is capable of playing something even SMB-like is.

It's really very moot, as playing (very simplistic) games is nothing like emulation.
 
Last edited by a moderator:
I have many arduino's (and variants) and a massive bunch of gizmos and gadgets (plus shields).

There are many designs for arduino game systems..

Adafruit (website has a package).


Arduino Game

You won't emulate an Atari, but you may be able to create something similar.

Get a Nokia LCD shield. It has good lcd and joystick and buttons.
I have a few lcd shields.

DO NOT get a touchshield slide if you're new to this. It can not be programmed via arduino IDE.. It uses a separate IDE (processing) and has it's own ATMEGA chip onboard. Many liquidware parts are not for learners.. (Tank Shield is cool, but you can make your own for less thank half the price and it will work easier).


Edit: I also can't see why you're aiming to something so advanced on the arduino when you don't have it yet.
Have you ever used one?

Just follow some tutorials and at least try and get an LED to blink and then make an LED array..

If you already have experience then ignore this "edit".
The arduino is designed for HARDWARE anyhow.. It's not a video output system...
Enjoy some servo's and make some cool stuff.
 
Exophase:

What's an Oric Microdrive? I think you must have meant something else, maybe the Microtan 2 or Oric-1?

Look here .. What is an Oric Atmos? I have a bunch of Atmos's, and I need microdrives (-discs if you like) - they are impossible to find, so I'm emulating one with an Arduino Mega .. will also probably get used for other things too, Oric-style ..
 
torpor said:
Look here .. What is an Oric Atmos? I have a bunch of Atmos's, and I need microdrives (-discs if you like) - they are impossible to find, so I'm emulating one with an Arduino Mega .. will also probably get used for other things too, Oric-style ..

Oh okay. I'm sorry, I thought you were referring to an Oric computer line, not a peripheral. That's pretty cool.
 
Last edited by a moderator:
kingoddball said:
I have many arduino's (and variants) and a massive bunch of gizmos and gadgets (plus shields).

There are many designs for arduino game systems..

Adafruit (website has a package).


Arduino Game

You won't emulate an Atari, but you may be able to create something similar.

Get a Nokia LCD shield. It has good lcd and joystick and buttons.
I have a few lcd shields.

DO NOT get a touchshield slide if you're new to this. It can not be programmed via arduino IDE.. It uses a separate IDE (processing) and has it's own ATMEGA chip onboard. Many liquidware parts are not for learners.. (Tank Shield is cool, but you can make your own for less thank half the price and it will work easier).


Edit: I also can't see why you're aiming to something so advanced on the arduino when you don't have it yet.
Have you ever used one?

Just follow some tutorials and at least try and get an LED to blink and then make an LED array..

If you already have experience then ignore this "edit".
The arduino is designed for HARDWARE anyhow.. It's not a video output system...
Enjoy some servo's and make some cool stuff.

In response to kingoddball ( sorry, but I my computer wouldn't let be use the reply )

I do not have much experience with arduino, I have used them/it once for an rc car (whenever the car got within __ distance of something a siren would go off. ( yes that is kind of stupid)

and in response to exophase

the reason I started the topic was because I wanted to know if ANY microcontroller could emulate ANY console/computer/handheld the only reason I used the atari 2600 as an example was because I really like pitfall and I apologize about how unclear the original post was
 
Last edited by a moderator:
Yes, there are definitel microcontrollers capable of emulating something, even Atari 2600, or something more powerful like Gameboy or NES. You can get 32-bit microcontrollers such as ARM Cortex-M3, M0, or M4 that extend as high as 100MHz and offer good performance per clock. You can get more powerful single chip solutions that have the same peripheral support but then the line blurs between what can be considered a microcontroller instead of an SoC or applications processor. The Cortex-M line still offers small leaded packages (QFP, not easy to hand-solder but much more feasible than something lead-less), embedded flash (up to 1MB IIRC) and RAM (probably around 96 or 128KB max) and very deterministic timing (not cached, low latency interrupts, etc). You can also get enough of an external memory interface to access parallel LCD controllers.

In other words, you can get much more powerful MCUs than atmega328.

If this is really your question I think it needs to be narrowed down a lot.
 
Sorry, Writing has never been my strong point.

Thanks also for the point about microcontroller vs SoC

could you post a link for a good begginer 32 or 16 bit mcu, are the TI easy to write programs for?
 
TI what? TI sells many different kinds of MCUs, app processors, and DSPs. Probably hundreds.

I can't really give you a recommendation until I have a better idea of what you want to do and what your design goals and constraints are (cost, experience, etc) Many different tools are suitable for many different applications.
 
Ignore the part about TI's MCUs they are way toooo expensive, one of the reason's I bought the arduino mega was because it was only 60 bucks not 450
so i would set the max price at 75 dollars and the prefered price at less than 50

as for experience, I once again, haven't done much ( the only programs that I have done from start to finish was my "hello world" project and a button press counter) but I am in my senior year of high school and am taking advantage of some free classes at dartmouth so I do have some good friends up at dartmouth who can help me out if I reach a roadblock, but I would still need to be able to do roughly 90% of the work myself.

Also, a big thanks for the links (kingoddball, sterling, and torpor)

oh yeh, thanks craigix just for commenting on the topic, it's an honor
 
Back
Top