Plation5
Posts: 12
Joined: Wed Jul 03, 2013 4:38 am

Rpi project Idea

Wed Jul 03, 2013 5:04 am

Hello I am an 18 year old engineering student and after doing some looking stumbled upon Rpi and its capabilities as an emulator. I have formulated a design and a project but I need some information from you guys about this I have draw n out a design plan and have some materials I would like to get into this project, this would be solely for personal enjoyment so lets begin.

Goals
•Make a cheap emulator
•The GUI as well as the unit should be visually appealing
•Have a 120gb hdd as storage
•Use NES/SNES retro co trollers
•Have fluent gameplay with no stuttering or lag
•While having on screen q's to show what system you are using have motors that will flip up system logos (not require d just an interesting idea)
•Play on a modern tv using hdmi wire
•Does NOT need Internet

Materials
•Raspberry Pi
•120gb IDE HDD (images at bottom)
•NES USB Controller (Image at bottom)
•Motor Controller
•Motors(Need info on both)
•Power button that would conform to some sort of case

Questions
•Will the NES USB Controller listed work?
•can I use a 120gb IDE HDD if I have a USB converter and external power?
•Would the features I have listed be reasonably possible, if there are some you guys don't think can be done within reason then please do tell me.

Images/links

-NES CONTROLLER
http://www.amazon.com/gp/aw/d/B002YVD3K ... -1&pi=SL75

-HDD
http://www.txmicro.com/product.php?prod ... Ogod5WIAuQ

Thanks for reading the entire post. Now I have one more favor to ask of you if you have any way to help me please post, if you don't well..........
Still <3
But no really thanks <3

User avatar
rpdom
Posts: 15460
Joined: Sun May 06, 2012 5:17 am
Location: Chelmsford, Essex, UK

Re: Rpi project Idea

Wed Jul 03, 2013 6:56 am

I will answer only the part of your post that I can.

Yes, you can use a USB hard disk with external power. I do this, as do many other people. :)

Sorry, I can't help with your other questions :(

Plation5
Posts: 12
Joined: Wed Jul 03, 2013 4:38 am

Re: Rpi project Idea

Wed Jul 03, 2013 2:08 pm

rpdom wrote:I will answer only the part of your post that I can.

Yes, you can use a USB hard disk with external power. I do this, as do many other people. :)

Sorry, I can't help with your other questions :(
Hey no problem man thanks for the reply, im guessing since its a serial ATA im going to need a serial ata to usb. Also do you have an overclocking on your Rpi, if so how easy is it ive looked into it, I do alot of overclocking on my desktop machine which I custom built.

User avatar
rpdom
Posts: 15460
Joined: Sun May 06, 2012 5:17 am
Location: Chelmsford, Essex, UK

Re: Rpi project Idea

Wed Jul 03, 2013 3:16 pm

Plation5 wrote:Hey no problem man thanks for the reply, im guessing since its a serial ATA im going to need a serial ata to usb. Also do you have an overclocking on your Rpi, if so how easy is it ive looked into it, I do alot of overclocking on my desktop machine which I custom built.
I use a USB to SATA/PATA3.5"/PATA2.5" adaptor connected to an old 80GB 3.5" PATA drive in a powered case that used to house an external CD-ROM drive.

Code: Select all

# This adaptor
Bus 001 Device 004: ID 152d:2338 JMicron Technology Corp. / JMicron USA Technology Corp. JM20337 Hi-Speed USB to SATA & PATA Combo Bridge
The easy way to do overclocking is through the raspi-config menu on Raspbian. It gives various options from "None" (basic 700MHz) to "Turbo" (1000MHz), some people have got their Pi running faster than that, up to 1300MHz I believe. It depends on the Pi, PSU, SD card and which way the wind is blowing ;)

I run my main Pi at "High" (950MHz) and it seems totally stable :)

The on-demand CPU frequency governor will normally run the CPU at 700MHz when not loaded, and switch to the maximum overclock when required. If the CPU gets too hot it will slow down again until it has cooled down, but it is unlikely to reach that temperature (85°C) in normal use.

Katamari
Posts: 34
Joined: Fri Jun 28, 2013 1:26 pm

Re: Rpi project Idea

Wed Jul 03, 2013 6:33 pm

If we are answering in chunks, then I'll help where I can. I am also an undergrad in engineering, so I assume we are on about the same experience level. I am at work, so I can't provide direct links though.
•The GUI as well as the unit should be visually appealing
Probably the most popular setup for emulation is called RetroPie. RetroPie comes with a graphical front-end called EmulationStation. If you want simplicity, this is the way to go. The Emulation Station is essentially a main menu to select the emulator/game to load. Just do a Google image search of "emulationstation" and the first 7 images will give you an idea of what the menus look like. A background based on the system, files/game names listed on one side and boxart/description on the other.
The Pi itself can look as pretty or ugly as you want. There are tons of premade RaspberryPi cases out there that you can buy or you can make one yourself. A fairly common thing is to find an old electronics device and gut it and put the RasbPi inside (like an old SNES or something). Since you are at a University, you can probably design one yourself in CAD and find a CNC shop on campus and make it yourself.
•Use NES/SNES retro controllers
I am fairly certain you can get SNES controllers to work via USB. If you have problems, plenty of other people have answers on this forum for getting them to work. The RetroPie comes with a library that allows you to connect a legitimate SNES controller to the Pi via the GPIO pins if you desire as well.
I don't know about NES controllers, but if you can plug it into your computer and use it without any software (i.e. it is recognized as a USB joystick), then it should work fine on the Pi.
•Play on a modern tv using hdmi wire
The only way I use my Pi is via HDMI (and the sound is only good if outputted through the HDMI).
•Have fluent gameplay with no stuttering or lag
I haven't tried the NES emulator yet, but I assume that it works fine.
I haven't used the SNES much either, and I have mostly just played Mario or rpgs, so this might not be for all. In-game, they work mostly fine. However, at graphically demanding points (like the Triple Techs in ChronoTrigger), there is a little slowdown. It probably reduces the game to maybe 3/4 or 2/3 speed, so it is perfectly bearable, but not the "true experience". But for a game like Mario World or Super Metroid, it works fine in all that I have seen (which isn't much so far, but still). Remember also, the Pi can be overclocked. I use the recommended overclock (the highest without any overvolting), but if you want to, you could always overvolt it and make it run a little more smooth. There is advice on the forum on how to do this best and safely. Also, the emulators are still being updated and optimized I believe (someone might correct me on that). So a month or two in the future, they might run a little better, and a year later, even better.
I will warn that the Playstation emulator will probably not run fully smoothly on certain games for quite a while, if ever.
Also, if you mean "lag" in controls, then there is none.
•Does NOT need Internet
You will never NEED it, though you will probably want it when installing RetroPie, updating the Pi firmware, scraping game art/descriptions, debugging, and adding games via SSH (though if you have a Linux comp, then it can read the SD card and add them). During normal usage, it is not needed at all.
•While having on screen q's to show what system you are using have motors that will flip up system logos (not require d just an interesting idea)
RetroPie does not provide on screen notices of what console is being played (though the EmulationStation screen where you select the Rom does). However, I think this is perfectly possible. Running the roms is done via a command line that EmulationStation just does for you and that you can edit in the config files. so if you created a Python script that overlaid an image on top of the feed from the emulator, then you should be able to (Though I have never coded in Python, or coded anything for images for that matter, so I may be wrong).
The motor side is possible as well. The GPIO pins can send out voltages for external devices, and you should be able to write your own Python code to control a motor or a few. Once again, you can just add the Python script to the command line that executes at emulator startup. You will have to check how much power it will draw though. The Pi cannot send out much power via the GPIO pins, so you may have to use an external power source and transistor to drive them (but if they are small and just flip a light object, then it may be possible). Powering LEDs is another possibility, so you could create an LED indicator of the current console.
Thanks for reading the entire post. Now I have one more favor to ask of you if you have any way to help me please post, if you don't well..........
If you want an idea of what one person did, look here: supernintendopi.wordpress.com
The pictures show his project, and the main page is a great tutorial that explains the whole process. Even without actually following it, just reading might give you an idea of what you can do.

Sorry for typing so much, I just like to answer questions as fully as I can and make aware of anything that I don't know or am assuming.

Plation5
Posts: 12
Joined: Wed Jul 03, 2013 4:38 am

Re: Rpi project Idea

Thu Jul 04, 2013 5:21 am

Katamari wrote:If we are answering in chunks, then I'll help where I can. I am also an undergrad in engineering, so I assume we are on about the same experience level. I am at work, so I can't provide direct links though.
•The GUI as well as the unit should be visually appealing
Probably the most popular setup for emulation is called RetroPie. RetroPie comes with a graphical front-end called EmulationStation. If you want simplicity, this is the way to go. The Emulation Station is essentially a main menu to select the emulator/game to load. Just do a Google image search of "emulationstation" and the first 7 images will give you an idea of what the menus look like. A background based on the system, files/game names listed on one side and boxart/description on the other.
The Pi itself can look as pretty or ugly as you want. There are tons of premade RaspberryPi cases out there that you can buy or you can make one yourself. A fairly common thing is to find an old electronics device and gut it and put the RasbPi inside (like an old SNES or something). Since you are at a University, you can probably design one yourself in CAD and find a CNC shop on campus and make it yourself.
•Use NES/SNES retro controllers
I am fairly certain you can get SNES controllers to work via USB. If you have problems, plenty of other people have answers on this forum for getting them to work. The RetroPie comes with a library that allows you to connect a legitimate SNES controller to the Pi via the GPIO pins if you desire as well.
I don't know about NES controllers, but if you can plug it into your computer and use it without any software (i.e. it is recognized as a USB joystick), then it should work fine on the Pi.
•Play on a modern tv using hdmi wire
The only way I use my Pi is via HDMI (and the sound is only good if outputted through the HDMI).
•Have fluent gameplay with no stuttering or lag
I haven't tried the NES emulator yet, but I assume that it works fine.
I haven't used the SNES much either, and I have mostly just played Mario or rpgs, so this might not be for all. In-game, they work mostly fine. However, at graphically demanding points (like the Triple Techs in ChronoTrigger), there is a little slowdown. It probably reduces the game to maybe 3/4 or 2/3 speed, so it is perfectly bearable, but not the "true experience". But for a game like Mario World or Super Metroid, it works fine in all that I have seen (which isn't much so far, but still). Remember also, the Pi can be overclocked. I use the recommended overclock (the highest without any overvolting), but if you want to, you could always overvolt it and make it run a little more smooth. There is advice on the forum on how to do this best and safely. Also, the emulators are still being updated and optimized I believe (someone might correct me on that). So a month or two in the future, they might run a little better, and a year later, even better.
I will warn that the Playstation emulator will probably not run fully smoothly on certain games for quite a while, if ever.
Also, if you mean "lag" in controls, then there is none.
•Does NOT need Internet
You will never NEED it, though you will probably want it when installing RetroPie, updating the Pi firmware, scraping game art/descriptions, debugging, and adding games via SSH (though if you have a Linux comp, then it can read the SD card and add them). During normal usage, it is not needed at all.
•While having on screen q's to show what system you are using have motors that will flip up system logos (not require d just an interesting idea)
RetroPie does not provide on screen notices of what console is being played (though the EmulationStation screen where you select the Rom does). However, I think this is perfectly possible. Running the roms is done via a command line that EmulationStation just does for you and that you can edit in the config files. so if you created a Python script that overlaid an image on top of the feed from the emulator, then you should be able to (Though I have never coded in Python, or coded anything for images for that matter, so I may be wrong).
The motor side is possible as well. The GPIO pins can send out voltages for external devices, and you should be able to write your own Python code to control a motor or a few. Once again, you can just add the Python script to the command line that executes at emulator startup. You will have to check how much power it will draw though. The Pi cannot send out much power via the GPIO pins, so you may have to use an external power source and transistor to drive them (but if they are small and just flip a light object, then it may be possible). Powering LEDs is another possibility, so you could create an LED indicator of the current console.
Thanks for reading the entire post. Now I have one more favor to ask of you if you have any way to help me please post, if you don't well..........
If you want an idea of what one person did, look here: supernintendopi.wordpress.com
The pictures show his project, and the main page is a great tutorial that explains the whole process. Even without actually following it, just reading might give you an idea of what you can do.

Sorry for typing so much, I just like to answer questions as fully as I can and make aware of anything that I don't know or am assuming.
Thanks for the response, don't worry about typing a lot, I would much rather have more info then not enough. So I've done a bit of looking and decided that would prob end up ocing the system and with my knowledge of ocing is the big factors are heat and power. For the heat I was thinking of purchasing some heat sinks to go on the core components, building a case around it with good airflow and putting fans in. So first of all I have looked around and seen builds with fans but am a little confused, are there plug and play fans or are people "modifying" them to work, and are fans truly worth it? Also since as I said power would be a factor what do you think of this "psu"

http://www.amazon.com/gp/aw/d/B00A9PO5A ... -2&pi=SL75
Thanks for taking your time out man! :D

Plation5
Posts: 12
Joined: Wed Jul 03, 2013 4:38 am

Re: Rpi project Idea

Fri Jul 05, 2013 6:05 am

So I worked out a design and contacted a friend if mine who is going to work with me, we will be using Legos for the case. I have draw out the case so here is the design, sorry if the image is big but I didn't want to size it down and lose the quality.
Image

Plation5
Posts: 12
Joined: Wed Jul 03, 2013 4:38 am

Re: Rpi project Idea

Sat Jul 06, 2013 4:26 am

So I purchased everything off of amazon with prime shipping so it should be here by Monday, there just a few questions I have, first I want my retro pie/linx?(Rpi is linx based right?) to be installed on my hdd, I am seeing people showing them making images for sd cards, but what I don't understand is where is the base os, and why are they using SSH and not just using a USB to transfer roms over? What I want it to boot to the retro station that would be stored on my 120gb hdd.

User avatar
rpdom
Posts: 15460
Joined: Sun May 06, 2012 5:17 am
Location: Chelmsford, Essex, UK

Re: Rpi project Idea

Sat Jul 06, 2013 7:11 am

The Pi doesn't have to run Linux. It can run any OS that has been built to run on it (ie. Not Windows/OSX/DOS etc). Some people write their own OS or even run without one.

The kernel (or main program)for the OS needs to be on the SD card, as that is all that Pi can read at initial boot time (I'll conveniently ignore the fact that it is theoretically possible to boot a model A from a PC using a USB link, as that isn't really supported).

Once the kernel has loaded it will be able to access other devices, like USB disks and network. So the rest of the OS can be on an external device.

As to copying ROM images via SSH (SCP?) instead of putting them on a USB stick and moving them over... well, if you've got a network connected you might as well use it. Far easier to type a command or two than Plug stick into PC. Copy file onto stick. "Safely remove" stick. Unplug stick. Plug stick into Pi. Mount stick. Copy file off stick. Unmount stick. Unplug stick.

Caveat: I don't run a gaming emulator and have never done the ROM thing, so I'm taking a bit of a guess as to how it is done.

6677
Posts: 383
Joined: Wed Mar 14, 2012 9:23 pm

Re: Rpi project Idea

Sat Jul 06, 2013 7:47 am

Plation5 wrote:So I purchased everything off of amazon with prime shipping so it should be here by Monday, there just a few questions I have, first I want my retro pie/linx?(Rpi is linx based right?) to be installed on my hdd, I am seeing people showing them making images for sd cards, but what I don't understand is where is the base os, and why are they using SSH and not just using a USB to transfer roms over? What I want it to boot to the retro station that would be stored on my 120gb hdd.
its Linux not linx btw.

the pi can only boot from SD not HDD. So retropie/emulation station tend to have to go on the SD, roms can all go on HDD fine but I think you'll find that they'll all fit on the SD too if need be.

I would use a servo motor instead of a regular dc motor. There is no feedback on a normal motor so you will have no idea whether the NES logo is being displayed or the SNES logo is displayed at any one time and as a result won't necessarily have the right one displayed. Its also hard to turn them accurately, say 15 degrees. A servo however you use a pwm signal from the pi to "order it" to turn to a specific angle, say 15 degrees left to show your NES logo or 15 right for SNES. The servo has all the circuitry it needs to maintain that specific position.

Plation5
Posts: 12
Joined: Wed Jul 03, 2013 4:38 am

Re: Rpi project Idea

Sun Jul 07, 2013 3:58 am

rpdom wrote:The Pi doesn't have to run Linux. It can run any OS that has been built to run on it (ie. Not Windows/OSX/DOS etc). Some people write their own OS or even run without one.

The kernel (or main program)for the OS needs to be on the SD card, as that is all that Pi can read at initial boot time (I'll conveniently ignore the fact that it is theoretically possible to boot a model A from a PC using a USB link, as that isn't really supported).

Once the kernel has loaded it will be able to access other devices, like USB disks and network. So the rest of the OS can be on an external device.

As to copying ROM images via SSH (SCP?) instead of putting them on a USB stick and moving them over... well, if you've got a network connected you might as well use it. Far easier to type a command or two than Plug stick into PC. Copy file onto stick. "Safely remove" stick. Unplug stick. Plug stick into Pi. Mount stick. Copy file off stick. Unmount stick. Unplug stick.

Caveat: I don't run a gaming emulator and have never done the ROM thing, so I'm taking a bit of a guess as to how it is done.
What I am saying is taking my 120gb hd plugging it into my pc putting roms on through there and the hooking it back up to my Rpi, I appreciate the response man.

Plation5
Posts: 12
Joined: Wed Jul 03, 2013 4:38 am

Re: Rpi project Idea

Sun Jul 07, 2013 4:02 am

6677 wrote:
Plation5 wrote:So I purchased everything off of amazon with prime shipping so it should be here by Monday, there just a few questions I have, first I want my retro pie/linx?(Rpi is linx based right?) to be installed on my hdd, I am seeing people showing them making images for sd cards, but what I don't understand is where is the base os, and why are they using SSH and not just using a USB to transfer roms over? What I want it to boot to the retro station that would be stored on my 120gb hdd.
its Linux not linx btw.

the pi can only boot from SD not HDD. So retropie/emulation station tend to have to go on the SD, roms can all go on HDD fine but I think you'll find that they'll all fit on the SD too if need be.

I would use a servo motor instead of a regular dc motor. There is no feedback on a normal motor so you will have no idea whether the NES logo is being displayed or the SNES logo is displayed at any one time and as a result won't necessarily have the right one displayed. Its also hard to turn them accurately, say 15 degrees. A servo however you use a pwm signal from the pi to "order it" to turn to a specific angle, say 15 degrees left to show your NES logo or 15 right for SNES. The servo has all the circuitry it needs to maintain that specific position.
Allright so the actually software for the base of the retro pi system would be on the sd but the roms can be on the hdd, do I have to put in custom settings so the pi knows where to look for the roms, as its a perfectly fine 120gb Seagate hdd that just sits and does nothing and I wanted a project where I could use it. Also I've scraped the motor part of the build and gone back to a basic build wit 4 USB ports and a 120gb hard drive, I'll post pics when the build is done im going to do as much of the software as I can before I go on vacation then when I come back my buddy who has the materials for the case is going to work with me and perfect the design, and ultimatly build it.

Return to “Gaming”