Jump to content

Built a 4 player arcade gaming console from scratch!

hmmmniek

Here is some totally unasked for details about a project I have been working on in my spare time for nearly a year.

Some pictures of the project.
The physical part was finished months ago, only recently some friends helped me paint it to make it look super awesome.
spacer.png

 

spacer.png

spacer.png

 

spacer.png

 

spacer.png

spacer.png

The hardware might look like it took some work.
However, I actually spent most of my time working on the software side of this project.
I am by profession a software developer, so I challenged myself with a rather difficult goal.

 

Old-school game consoles like the SNES use these iconic game cards that contain all the game logic; a single console that can run an unlimited number of games based on the game card that has been inserted.
With this project, I also wanted to have these game-cards.
This is a video of a game-card being loaded on the console.. not sure how to embed yt videos in a post.
https://youtu.be/rVJE07QlsJc


The easy way to implement this, would be to still have the game logic saved on the console, and then using a "game card" as a trigger to launch a certain game.

That would also be the boring way to do it though. I decided that the game logic should be stored on the game card itself.
This machine is powered by a micro-controller, and I was not able to find any suitable option to run interpretive code that is loaded from an external memory source.

So I created my own programming language, binary compiler and c++ interpreter; Arcadable-script was born.
Check out this sample project if you are interested in seeing what this Arcadable-script looks like.
https://github.com/hmmmmniek/arcadablescript-sample


With Arcadable-script, I managed to write a 4-player pong game that is just a little over 5Kb in size.

I tried documenting the physical build process as much as possible. Wrote a detailed post about it here back in April.
This post also documents my learning process a bit, because at the start of this project, I had no experience with electrical engineering at all.
https://medium.com/@hmmmniek/arcadable-a-gaming-console-from-scratch-790f07e41859

Lots of the source code has improved since that medium post.
All of it is open source and can be found here:
https://github.com/Arcadable


Here is a video of me testing out the pong game with all my friends during covid
https://youtu.be/Z-shrrFVr7w


Edit: Oh and if you are crazy enough to want to write Arcadable-script yourself, I published a vscode extension to help you do just that. Just search for "arcadable-emulator".
This extension will be able to parse, compile and emulate any games. Try opening this project with the extension enabled https://github.com/hmmmmniek/arcadablescript-sample , then press ctrl+shft+p and type Arcadable to open the emulator in vscode :)

Link to comment
Share on other sites

Link to post
Share on other sites

This looks really cool ngl

Reminder⚠️

I'm just speaking from experience so what I say may not work 100%

Please try searching up the answer before you post here but I am always glad to help

Link to comment
Share on other sites

Link to post
Share on other sites

Have some of my respect, this is very damn cool yo! :)

When i ask for more specs, don't expect me to know the answer!
I'm just helping YOU to help YOURSELF!
(The more info you give the easier it is for others to help you out!)

Not willing to capitulate to the ignorance of the masses!

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×