
So... i am currently building a very retro gaming console for the past week.
And thusly i present the MraStation: an 8-bit console for one or two players wich you can connect to your TV through composite AV (the yellow/white plugs ;) )
At first i was planning to make it completely out of discrete components and even had all the designs ready for it, however i figured that instead of using a big LED screen (build from 96-128 leds x.=.x) i wanted to be able to connect it to a TV. Just like 'real' gaming consoles.
After some research i came across the Arduino: a programmable MCU with a load of I/O ports and an USB interface for programming in the C language.
Since im quite skilled at C++ (wich is a more complex version of C) i figured i'd be better to make the Graphics Unit with the Arduino.
However, this worked so well i thought i'd might as well make the ENTIRE thing with Arduino's and some external logic.
So here we have the SD-card reader wich is read by the CPU (running my own operating system) so you can load games from SD-cards. The CPU loads the selected game into the MEMORY unit wich then runs the gamecode.
The MEMORY unit processes player inputs (from the 2 controllers) and commands the GPU to draw all the stuff.
The GPU in turn outputs either NTSC or PAL video, at 128x96 / 4:3, and audio to your TV.
Communication between the three Arduino's goes through an I2C interface using the EasyTransferI2C library. The MEMORY, CPU and SD-units have an extra TR/TX Serial connection for loading games etc.
All the Arduino's run at 16MHz at 1 MIPS/MHz. They each have 2 kb RAM and 1 kb EEPROM to run stuf and 32 kb Flash Memory for code storage. Ofcourse the CPU has extra storage in the SD-cards wich can be up to 16 Gb.
And thusly i present the MraStation: an 8-bit console for one or two players wich you can connect to your TV through composite AV (the yellow/white plugs ;) )
At first i was planning to make it completely out of discrete components and even had all the designs ready for it, however i figured that instead of using a big LED screen (build from 96-128 leds x.=.x) i wanted to be able to connect it to a TV. Just like 'real' gaming consoles.
After some research i came across the Arduino: a programmable MCU with a load of I/O ports and an USB interface for programming in the C language.
Since im quite skilled at C++ (wich is a more complex version of C) i figured i'd be better to make the Graphics Unit with the Arduino.
However, this worked so well i thought i'd might as well make the ENTIRE thing with Arduino's and some external logic.
So here we have the SD-card reader wich is read by the CPU (running my own operating system) so you can load games from SD-cards. The CPU loads the selected game into the MEMORY unit wich then runs the gamecode.
The MEMORY unit processes player inputs (from the 2 controllers) and commands the GPU to draw all the stuff.
The GPU in turn outputs either NTSC or PAL video, at 128x96 / 4:3, and audio to your TV.
Communication between the three Arduino's goes through an I2C interface using the EasyTransferI2C library. The MEMORY, CPU and SD-units have an extra TR/TX Serial connection for loading games etc.
All the Arduino's run at 16MHz at 1 MIPS/MHz. They each have 2 kb RAM and 1 kb EEPROM to run stuf and 32 kb Flash Memory for code storage. Ofcourse the CPU has extra storage in the SD-cards wich can be up to 16 Gb.
Category Designs / Miscellaneous
Species Unspecified / Any
Size 1280 x 891px
File Size 263.5 kB
thanks! ^.=.^
And yes this makes it very easy to add new modules (gonna need a bigger/2nd motherboard tho) because the serial connection allows up to 99 devices.
There is a precompiled HEX file (i.e. sketch) on the SD-Card wich is read out by the CPU and programmed onto the MEM-unit. Then the MEM-unit runs the file/scripts. This way you have max POOWEEERRR
And yes this makes it very easy to add new modules (gonna need a bigger/2nd motherboard tho) because the serial connection allows up to 99 devices.
There is a precompiled HEX file (i.e. sketch) on the SD-Card wich is read out by the CPU and programmed onto the MEM-unit. Then the MEM-unit runs the file/scripts. This way you have max POOWEEERRR
Comments