With Support For USB Gamepads & Keyboards
uSVC is a simple, do-it-yourself game console that allows you to
create and play 8-bit, retro-style games. It comes as a kit, and all
you need to assemble it are basic, through-hole soldering skills. The
microSD card socket is the only surface-mount component on the whole
board, and we’ve taken care of that one for you. In fact, all you
really need is a soldering iron and some solder. You’ll have "basic,
through-hole soldering skills" by the time you’re done.
We’ve produced three games for uSVC so far, and we might even consider
allowing you to play them. We’re kidding, of course. Fair Play Race,
Redballs, and Tetris are all open source. As are the demos we’ve
created to show off the capabilities of our hardware. As is our game
editor, which you can use to generate and export the graphics, sound,
and music for your games.
A graphics demo for uSVC and two games: Fair Play Race and Redballs
Do With It What You Will
Already quite good at soldering? Don’t want to design retro-style
games? Not even interested in playing retro-style games? Unmoved by
the thought of connecting two uSVCs and gaming with a friend? We still
think you might find value in the uSVC development platform.
You might, for example, connect some RGB LED strips, synchronize those
strips with the frames you are generating, and light up a wall. Or add
a serial-to-parallel shift register and some relays to create a home
automation control panel. Or build a karaoke machine you can carry
around in your pocket. Or something else entirely!
- Standad resolution of 320x200 pixels at 57 Hz
- 400 lines supported with a pixel aspect ratio of 2:1
- Up to 256 on-screen colors
- 8x8 pixels tiled modes with 16 or 256 colors
- 2 bits per pixel (bpp) bitmapped mode supports up to 256 on-screen colors by changing the palette every 8 horizontal pixels
- Sprites up to 128 pixels in width or height are automatically handled by the graphics engine, so you don't need to join smaller sprites to achieve larger ones
- Up to 128 8x8 sprites can be drawn in one 256-color frame if they are 8-pixel aligned
- For arbitrary alignment, up to 66 sprites can be displayed in one 256-color frame
- Horizontal and vertical sprite flipping is supported in all tiled modes
- 256-color tiled mode supports 90°, 180°, and 270° Sprite rotation and as x-y swapping
- Custom blending of sprites and background graphics in 256-color mode supports partially transparent sprites, explosions, lighting effects, etc.
- Prioritize sprites over tiles or vice versa
- Smooth, full-screen arbitrary x-y scrolling in tiled modes
- The color-change engine for 16-color mode supports per-line changes to the entire palette or to any one of the 16 colors
- Color-change also works at high resolution (400 vertical lines), which allows for smoother dithering effects and up to 256 on-screen colors
- Per-line vertical row remapping can be used to create water or mirror effects, split or flipped screens, etc.
- Row remapping also works at high resolution (400 vertical lines)
- Supports independent, per-line and per-tile horizontal scroll for water deformation, parallax, etc.
- Optional bottom- or top-fixed section to display status information such as a running score
- Four 8-bit PCM channels mixed to a 10-bit mono channel
- 30 ksps
- Optional global low-pass filter with per-frame selectable low-pass frequency
- ATSAMD21E18 @ 48 MHz
- 256 kB of flash (232 kB available for the game)
- 32 kB of RAM
- MicroSD: Can store games and game data
- VGA output: 57 Hz vertical frequency, 30 kHz horizontal frequency
- Audio: 3.5 mm, 10 bit output jack
- Controllers: Uses standard USB Gamepads and Keyboards
- Power Input: 5 V via USB cable, 100 mA (up to mA observed)
- Dimensions (W x L x H): 48 x 86 x 17 mm (without 1 cm hex standoffs or solder joints)