Introduction: El Jugador: Retro DIY Game Console
NEW! We've improved El Jugador, it's called Quick Player and you can check it out here.
Features:
- Make Your Own Games with just a little coding experience
- SD Card bootloader so you don't need any special programming hardware
- PAL or NTSC video output with audio
- Dual Controller Portsfor multiplayer games
- Modular so you can add modules things like battery packs or protoboards.
- High-Performance 32-bit, 160 MIPS CPU
- Open Source under the MIT license
- Overclock-able up to 200 MIPS with a 6.25Mhz Crystal
Go to the next step and check out some of the games!
Step 1: FAQ
What is El Jugador?
El Jugador is an open-source, DIY video game console, it's designed to sit on top of the Propeller Platform and provide gamepad, video / audio, and SD card connections.How do you program it?
It's programmed just like any Propeller, it can be programmed in C, Spin, or Assembly. My favorite is Spin. Later, I'll show you 'Hello World' — the entire program is 8 lines!It also has a bootloader so you can run programs without needing programming hardware. You just write your program, copy it to an SD card and insert the SD card into El Jugador. When it boots up, use your controller to select the game/program you want to play.
What kind of games can I make / play on it?
Your imagination (and your skill) is really your only limit. A few demo videos are below. Graphics are on par with a TurboGrafx-16. Better than an NES, but not quite as clear as an SNES. Not all games take full advantage of the graphical power, of course.Here are a few of my favorite demos:
X-Racer
Wolfenstein 3D
Fancy 3D Graphics Demo
I've never soldered before!
Even though El Jugador does some pretty cool stuff, it's easy to put together. It uses just 16 components (8 resistors, 2 caps, a card slot, 4 jacks, and pin headers). As a kit, the card slot comes pre-soldered, too.If this is your first time soldering, I'll show you the tools you'll need on the next step, but El Jugador will take 15-20 minutes to assemble.
Licensing
The Hardware design and firmware are available under the MIT license. Downloads are at the end of this howto.I did the layout for El Jugador and baggers contributed the SD bootloader (with a little tweaking from OBC). The bootloader is based on femtobasic's fsrw objects from Tomas Rokicki & Mike Green. THANKS GUYS!
Step 2: Preparation: Tools
This is a great project to learn how to solder. There are a ton of great instructables on how to solder, you can find one here.
There is one Surface Mount component on El Jugador (the SD Card slot). As a kit, this part comes pre-soldered to the board, so don't worry about Surface Mount soldering.
Tools
You'll need a few tools to assemble the project;
1 - Soldering Iron and solder. Leaded solder is easier to work with, and a 15-40 watt iron is just fine. A conical or chisel tip works well.
2 - Dikes. Diagonal cutters are used to trim the excess leads from components after soldering them down.
Step 3: Preparation: Parts
Check to make sure you have the following parts. If you've ordered a kit, double check to make sure your package has all the parts listed. If there's anything missing, just email us at info@gadgetgangster.com.
Also, as a kit, El Jugador comes with an EEPROM that's pre-programmed with a bootloader, so you don't need any programming hardware. The SD Card slot will come pre-soldered, too.
R/A RCA Jack
Mouser Part # 161-0390-E
Qty: 2
SD Card Slot
Mouser Part # 517-SD-RSMT-2-MQ
Qty: 1
- There's one shown in the photo, but the updated circuit board doesn't need one.
47 uF Electrolytic micro-mini Cap
Mouser Part # 140-L25V47-RC
Qty: 1
0.1 uF Ceramic Cap
Mouser Part # 80-C410C104K5R-TR
Qty: 1
El Jugador PCB
Source: Gadget Gangster
Qty: 1
40 pin header strip
Qty: 1
10k Ohm Resistor (Brown - Black - Orange)
Qty: 4
1.1k Ohm Resistor (Brown - Brown - Red)
Qty: 2
560 Ohm Resistor (Green - Blue - Brown)
Qty: 1
270 Ohm Resistor (Red - Violet - Brown)
Qty: 1
NES Gamepad Jack
Source: Parallax
Qty: 2
You'll also need:
Propeller Platform
El Jugador is designed as an add-on module for the Propeller Platform, so you'll need one of those.
SD Card
Full size or mini/micro with adapter. Max size is 2gb.
Gamepad
The OG NES gamepads work fine. I sell gamepads, too
Step 4: Make: Resistors
R4, R5, R6, R7 are all 10k resistors (Brown - Black - Orange). Here's how you add them:
- Fold the leads at a 90° angle,
- insert them into the board,
- splay the leads apart,
- flip the board over,
- heat up the lead and pad with your soldering iron for about 1 sec, then add a bit of solder.
let's do a few more resistors:
R1: 1.1k Ohm (Brown - Brown - Red)
R2: 560 Ohm (Green - Blue - Brown)
R3: 270 Ohm (Red - Violet - Brown)
Last resistor,
R8: 1.1k Ohm (Brown - Brown - Red)
Step 5: Make: Capacitor
Now the Capacitors:
C1 is the Electrolytic Capacitor, it's shaped like a little can, and there's a stripe on one side of the can.
The lead on the stripe side is shorter than the other lead and it goes through the circular hole. The longer lead (non-stripe side) goes through the square hole, closer to the '+' marked on the circuit board.
C2 is a Ceramic Capacitor. It is not polarized, so it doesn't matter which direction you insert it.
Step 6: Make: Connectors
We'll add the connectors now, the video and audio connectors go at the spots marked 'TV' and 'Audio'. Insert them, flip the board over and solder them down.
Add the gamepad connectors at #1 and #2. Insert them, flip the board over, and solder them down. Note that the pins for the gamepad connectors are pretty thick, so it will take an extra second or two to get them up to temperature when soldering them in.
Lastly, add the pin headers on the outside row. It's easier to first insert the pin headers into the Propeller Platform, drop El Jugador on top, and then solder the pin headers to the board.
Pull El Jugador off, remove the EEPROM in your Propeller Platform, and insert the EEPROM that came with El Jugador. This EEPROM is pre-flashed with an SD Card Bootloader.
Here's how you set it up:
Step 7: Using It: Playing Games
Downloads
Here are a few games to get you started:X-RACER![]() (.binary) (more info) WOLFENSTEIN 3D ![]() (.binary) (more info) DODGY KONG ![]() (.binary) (more info) DR. HYDRA ![]() (.binary) (more info) OXYGEN ![]() (.binary, add-on) - put both files on your SD Card (more info) SPINTRIS ![]() (.binary) (more info) ALIEN INVADER ![]() (.binary) (more info) JETPAC ![]() (.binary) (more info) HYDRAMAN ![]() (.binary) (more info) BALL BUSTER ![]() (.binary) (more info) LOCK N' CHASE ![]() (.binary) (more info) |
There are a ton more games out there, Check OBC's game index to download more.
Loading Programs
- Copy the .binary file to your SD Card
- Insert the SD card into El Jugador
- Turn it on and plug your controller into the #1 socket. Use up or down to select a program and hit 'A' to load it up. Here's a brief video;
If you want to switch games, just hit the reset button on the Propeller Platform (right under the SD card slot). The bootloader menu will come up again and you can select another program.
Step 8: Using It: Making Games
Let's do our first program in Spin. Spin is a high-level language developed just for the Propeller - it's a bit of a mix of BASIC and C. My background is in php and I found Spin pretty easy and straightforward.
Creating a Program
Let's start with 'Hello World':- Download the Propeller tool (windows) (Mac) (Linux)
- Here's the complete Hello World program:
CON_clkmode = xtal1 + pll16x
_xinfreq = 5_000_000OBJterm : "tv_terminal"PUB startterm.start(12) 'start the tv terminal
term.str(string("Hello World")) 'print Hello World
Copy and paste that program into the Propeller Tool and hit F8 on your keyboard. You'll see:

(full size)
Click on the button labeled 'Save Binary File', and save the binary file to your SD Card. Pop the card in El Jugador, boot it up and select the file. Your screen should say, 'Hello World".
Making Games
Showing you how to make games is beyond the scope of this howto, but here are some tips and resources to get you started;How to program the Propeller
The Propeller Manual shows you how to use Spin and you can download the PDF here.
How to do graphics
The Graphics_demo is a great program to understand how to draw graphics, lines, circles, etc. Run it as-is, then make changes to the code to see how the graphics change.
How to read the controller
The NES controller object includes an example program, so you can see how to read the gamepad.
How to do sound
There are several sound objects out there, this one works well but you've got choices. I suggest you spend plenty of time on sound, I think it's an often overlooked part of game design that can really make your game more rich and interesting.
Putting it together
Take a look at other programs (linked in the previous step) to understand how they combine sound, input and graphics to make a game.
Step 9: Downloads & Links
Development Software
Propeller Tool — START HERE! This is the tool for programming in spin or ASM (Windows) (Mac) (Linux)Imagecraft — this is the tool for programming in C (website)
Other Languages
PropBasic (website)
12Blocks (website)
Debuggers
Viewport (website)
GEAR (website)
Reference
Propeller Manual (.pdf)Propeller Fun Book (.pdf) (sourcecode)
Hydra Book (website) (CH6 sample) (CH25 sample)
Programming & Customizing the Propeller (website)
Notes on Graphics_Demo.spin (website)
Software
Propeller Object Exchange (website)A few of the my favorite objects:
El Jugador Files
All are available under the MIT LicenseLayout (.pdf) (.dip)
Schematic (.pdf) (.dch)
Bootloader (sourcecode) (.binary)
Buy the kit from Gadget Gangster;
http://www.gadgetgangster.com/265
18 Comments
9 years ago on Introduction
Nice project. See also this Retro DIY Game Console based on an ATMEL AVR controller:
https://www.instructables.com/id/DIY-retro-game-console/
11 years ago on Introduction
can you copy and paste games from internet to here? if you could id play
MiniCraft ( do google search )
11 years ago on Introduction
Is there any way to upgrade the graphics? No offense, I'm a fan of the retro era games my self, I was just wondering as I am new to this.
11 years ago on Introduction
Unless you write a translator that would convert NES opcode and system call, your only luck would be to write an emulator for that board, which could prove to be quite tricky but not undoable as the CPU seems powerfull enough.
12 years ago on Introduction
Seeing this made me super happy and wanting to do more. How could you make a chip to play SNES Roms on your TV or even play a install file like cave story? Is one of the 2 things I just said possible?
12 years ago on Introduction
Has anyone tried porting Marathon to this?
12 years ago on Introduction
Can you make this use a USB controller instead of the ones used in the instructable? If so, how?
12 years ago on Introduction
For those who like to dig deep into hardware...
http://lucidscience.com/pro-lazarus-64%20prototype-1.aspx
13 years ago on Introduction
You said that this is designed to sit on the propeller platform, but what alterations would be required to make it compatible with arduino instead?
Reply 13 years ago on Introduction
Checkout Uzebox for opensource gaming with Arduino. You won't be able to get sophisticated games like prop. You can think of Uzebox as an equivalent of the old atari consoles where Propeller get's you close to super nintendo performance.
Reply 13 years ago on Introduction
Uzebox uses an AVR microcontroller, but I'm pretty sure it doesn't have the arduino bootloader, though. The uzebox is pretty cool, though!
Reply 13 years ago on Introduction
Good point - it does not have the Arduino bootloader but you could put that in easily if you wanted to (why you would I don't know). But, yes, it's AVR. I'm currently using WinAVR to program it right now.
Reply 13 years ago on Introduction
Won't work with Arduino - it's not fast enough to generate video. There's an arduino shield to do simple black and white text (http://www.batsocks.co.uk/products/Shields/TellyMate%20Shield.htm), though. You'll also need a board to connect the SD card and NES jack. The NES controllers will work at 5V or 3V, but you'll need additional circuitry to connect the SD card, it interfaces at 3.3v.
13 years ago on Introduction
have you got your finished project in an encloser? theres probably alot of retro type things you could put the board into. like a nes cartridge, betamax tape. clever instructable.
13 years ago on Introduction
How much does this weigh? I have an idea that can use this, but I would need to know the weight.
13 years ago on Introduction
I suggest you re picture it plugged-in in front of the TV, with fingers on the buttons. My word I never thought I'd see "JetPac is loading" again!
L
Reply 13 years ago on Introduction
Good idea!
Thanks - baggers did the jetpac conversion. El Jugadar is the result of a lot of people's hard work - baggers also helped out with the bootloader.
Reply 13 years ago on Introduction
Out of interest, since these are all 8-bit games (surely) - is the 32-bit processing under-used, or cleverly-used?
L