Build your own 8 bit gaming console based on the Arduino platform. ARCO1500 is an open source, 8 bit DIY gaming console - both software and hardware.
Here is a video about how to do it: http://www.youtube.com/watch?v=pl3g7Zw-S20
The whole set looks like this. You can buy it here (Czechia, Slovakia, Poland, Hungary).
On the image below you can see the connections. Please, make sure you connect everything right, otherwise it can be dangerous. Mainly if you switch the + and - pins (VCC and GND).
- Download latest release of ARCO software from GitHub and extract it somewhere.
- Install Windows USB driver "arduino/drivers/Arduino_USB_Drivers-master/Windows".
This option is the fastest way to get games to your game console and play (Windows only)!
- Connect your game console to PC with USB cable
- Run "ARCO1500_Uploader.exe"
If you:
- cannot (or don't want to) use our upload script
- want to edit games or develop your own
- run Linux / Mac
Then you should use Arduino IDE:
- Open bundled Arduino IDE "arduino/arduino.exe"
- Run some games from the "games" directory
Like flappy bird.
Space shooter. You shoot space waste like mad Greta.
Simulation. Not really a game except you can pause it.
Four rooms, enemies, medical kits and even a combat system.
The game with only one button. Which turns left.
Almost 3D space surfing.
The most classic game of all time.
Like Tank 90.
You can develop your own games with just a little knowledge of programming (C++ / Wiring).
- Download latest release of ARCO software from GitHub and extract it somewhere.
- (Windows only) Install USB driver "arduino/drivers/Arduino_USB_Drivers-master/Windows".
There is this game called "Hello Arco" which is an equivalent for classic "Hello World" programs. You can use it as a boilerplate for developing your game.
The game structure is simple. There must be a folder inside the "games" directory. Then, inside the folder, there must be an .ino file with the same name as folder. This file is the main and only required file.
You can divide your code into several .ino files, but this is just for clarity.
You load the main file "hello_arco.ino" into Arduino IDE. But wait, before uploading it to console, you must specify the port number to which your console is connected.
This is our (optional to use) library which can help you create games easily.
You can find it source files in "arduino/portable/sketchbook/libraries/gamelib".
You can find simple class reference below.
// use it like display.drawBigText(5,5, "Hello"); ...
void drawBigText(int x, int y, const String &text);
void drawSmallText(int x, int y, const String &text);
void drawXBM(int x, int y, int w, int h, const uint8_t *data);
void drawVLine(int x, int y, int h);
void drawFrame(int x, int y, int w, int h);
void drawBox(int x, int y, int w, int h);
void drawDisc(int x, int y, int r, uint8_t opt = U8G2_DRAW_ALL);
You can use all of U8G2 drawing methods.
// use it like sound.playTone(200, 200); ...
void playTone(int pitch, int time = 10);
void playSong(Song &song);
// Create scoreTable object with GID of your game (must be declared in score.h)
ScoreTable<GID_GALAXY_MADNESS> scoreTable;
// use it like scoreTable.addScore(5);
void setScore(score_t value);
void addScore(int value);
void update(); // game over, save score
void draw(); // draw highscore screen
// use it like buttonDown(RIGHT_BUTTON);
bool buttonDown(byte button);
bool buttonPressed(byte button);
// call this in "setup" function
void initGame(INIT_ALL);
void softReset();
We have an emulator for testing games without real console. You can find it in "not_emulator" folder. There is a README.md file with simple instructions on how to use it.
If works perfectly on Linux. On Windows we have alpha version, there are some problems with bitmaps.