November 24, 2009
I’ve talked a few times about the X-One Xmos based console so I thought better put up a schematic to show how it all goes together. A Xmos XC-2 is found at the heart of the console with the rest of the circuit providing a R-2R video DAC, PWM audio and SD Card interface. Ethernet is provided by the XC-2 card its self. The software kernel is Yvo’s VDP video engine.
The pdf is here: XC-2 VGA 0v10
November 15, 2009
I finally found some time to start the PCB for Zuzebox (a Uzebox compatible retro-minimalist homebrew game console). I’m hoping to squeeze it all into a 100mm x 100mm board so I can use Seeedstudio’s Fusion / Propaganda PCB service. The picture below only shows about half the components laid out, so I think the final PCB is going to be busy.
November 8, 2009
It’s taken me longer than I hoped to make this small update to Zuzebox (an Uzebox compatible retro-minimalist gaming console). What I’ve done with this update is to actually simplify the design by removing the surface mount components for the USB circuit. I still intend to have the USB interface but I’ve decided to use a plug in USB module instead of a surface mount chip.
The idea is to keep the electronics as simple as possible and to add functionality such as a USB or a Ethernet interface through plug in modules. I’ve updated the schematic to use Sparkfun’s USB module shown below:
I may added another USB module footprint in the future, possibly a FTDI module.
The updated Zuzebox v0.30 schematic (pdf) is here.
November 3, 2009
As promised in my post of 15th October, here’s some screen shots of Manic Miner on my Xmos XC-2 based X-One console. So far I’ve only coded level 1 and I need to add code for the SNES controllers and game play and off course the rest of the 20 levels to finish it off.
The graphics were hand coded by extracting the pixel data and colour attributes for the first level from a Manic Miner ZX spectrum binary. A very mandraulic process involving switching between two editors and a couple of editor macros but it got the job done. I used Andrew Broads and Icemans (Chris Wild) excellent web sites for the screen layout information. The video engine is Yvo’s VDP for the XC-2 which provides up to 2 backgrounds and up to 32 sprites (8×8, 16×16, 32×32, 64×64 etc)
Watch this space more to come.
October 27, 2009
Yet another anniversary.
Its a year to the day I first join the Uzebox forums. Check out the cool retro-minimalist homebrew game console at http://belogic.com/uzebox/
I was hoping to have Zuzebox, my Uzebox compatible console, prototype finished before this day but like many things time has not been my friend. But I am still working on it and I ‘ve decided to use standard modules for the USB interface as well as the Ethernet interface.
October 15, 2009
Its a year to the day that I first heard about Xmos and their cool multi-core multi-threaded processors and joined the Xlinkers community. So I want to share some pictures of a XC-2 project I’ve been working on.
X-One from Front
X-One from above
I’ve used Yvo’s great VDP video driver to get VGA graphics working on the prototype with R-2R resistor DAC for the video and a couple of spare SNES controllers for the gaming inputs.
I’m porting a classic 80’s video game, so watch this space 😉
October 7, 2009
September and the start of October have been a busy time for me but I’ve finally managed at a last to capture to schematic my interpretation of the Uzebox the retro-minimalist homebrew game console. I’ve extended Uze’s design to include a USB and Ethernet interface and also Atari / Commodore 64 / Sega Mega (Genesis) style joysticks / d-pads through a classic 9W D interface.
The USB interface is based on the ubiquitous FDTI FT232 USB to serial UART chip. So far I’ve only connected it to the 644’s serial Rx and Tx and RESET lines but I will investigate if the USB interface can also be used as a AVR programmer as well.
The Ethernet interface is based on WIZnets WIZ810MJ module with a W5100 hardwired TCP/IP Ethernet on a chip. It’s available as a low cost simple drop in module that can be driven either through a traditional address / data bus scheme or through a 4 pin SPI interface. The Wiznet W5100 is used by the Arduino community so AVR drivers already exist to drive the chip.
Finally the Atari/C64/Sega joystick interface is provided by a 4021 parallel to serial chip for each port. The 4021 is used in the SNES controllers so the Uzebox kernel can read them without any changes. The small downside is the Atari/C64/Sega joysticks lack the SNES “Start” or “Select” buttons so I may have to add a couple of switches/buttons to the final design to allow existing games to detect these buttons.
A pdf of the prototype schematic is here. I hope to spend some time on the PCB layout in the coming weeks.