Author Topic: uSVC - Homebrew retrogaming and portable VGA console  (Read 140 times)

Offline rantonio

  • Jr. Member
  • *
  • Posts: 4
  • Karma: 0
    • View Profile
uSVC - Homebrew retrogaming and portable VGA console
« on: October 31, 2020, 13:17:58 PM »
Hi there!

I would like to share with you a project I am part of!

As the title says, it is an open-source retro-game console that connects to VGA monitors.
I and a friend of mine worked on it and everything is fully Open-Source (HW and FW on https://github.com/next-hack/usvc)!
It has a very simple hardware it allows everyone to code and play his own 8-bit style retro games.
It is based on uChip (an open source Arduino Zero compatible development board, the size of a 16-DIP IC).

The console accepts standards USB gamepads and keyboards, and has a VGA output, with up to 256 on-screen colors. Games are stored in the microSD card, and are loaded into the MCU flash by the game loader.

We are running a campaign on Crowdsupply (www.crowdsupply.com/itaca-innovation/usvc) in order to spread the word and create a community that will help develop and improve this platform.

Here is a brief summary of its main features:
  • Everything is handled by the 48 MHz Cortex M0+ microcontroller that powers uChip (an ATSAMD21), including VGA and audio signals, which are generated using carefully optimized ASM code. Games, instead, are programmed in C. All the code has been written using the free Atmel Studio 7.0 (using GCC as C compiler).

  • There are for now three video modes, all working at 320 x 200 pixels. With minor modifications, you could achieve up to 320x240/400/480 pixel. Still 240/480 lines would leave too few time to the CPU (during the active video, the CPU is busy in generating the video signals). 400 and 480 vertical lines will have a pixel ratio 2:1.

  • Since uChip has only one 10-bit DAC channel, the audio consists of four 30kSPS 8-bit PCM channels mixed down to a mono 10-bit channel.

Should I add something more? uSVC has 32kB of RAM a 256kB of flash (24k of which are used by uChip’s bootloader and game loader, the latter providing also shared USB and SD functions, so that you don’t have to include them in the games).
All the platform is running using only the 14 I/O uChip pins!

Fell free to give some feedback and suggestions for improvements!

I hope the wall of text didn't prevent you from reading till this point!

Antonio

PS: Attached is the result we reached up to now with a few examples:


Four 4bpp mode "screenshot" (using phone camera!) for comparison.


Tetris implemented with uSVC.
« Last Edit: October 31, 2020, 15:15:39 PM by rantonio »

Offline zapiy

  • Administrator
  • Hero Member
  • *
  • Posts: 13387
  • Country: england
  • Karma: 91
    • View Profile
Re: uSVC - Homebrew retrogaming and portable VGA console
« Reply #1 on: October 31, 2020, 23:17:59 PM »
This is cool..

Can I ask why though?
Own: Jaguar, Lynx, Dreamcast, Saturn, MegaDrive, MegaCD, 32X, GameGear, PS3, PS, PSP, Wii, GameCube, N64, DS, GBA, GBC, GBP, GB,  Xbox, 3DO, CDi,  WonderSwan, WonderSwan Colour NGPC

Offline rantonio

  • Jr. Member
  • *
  • Posts: 4
  • Karma: 0
    • View Profile
Re: uSVC - Homebrew retrogaming and portable VGA console
« Reply #2 on: November 01, 2020, 16:31:25 PM »
This is cool..

Thanks!  :)

Can I ask why though?

Well, we wanted to investigate the limits of a CortexM0+.
Since it is a common MCU used in many development boards we were interested into understanding if it was capable of doing such a thing as playing retro-games on a VGA display.
All VGA signals are software generated and the sync is helped simply using an IC buffer and an high precision crystal quartz.
It was not so obvious that making the console was possible to begin with.
Once playing we realized it is actually possible!

I would like to add that we like challenges.
There are plenty other platforms that allow creating retro-games using much more powerful hardware (Pi or Beagle just to cite some), but where is the challenge if you are using a multi-core when in the past an 8-bit processor would suffice (though with GFX HW acceleration)?!  :D

Offline zapiy

  • Administrator
  • Hero Member
  • *
  • Posts: 13387
  • Country: england
  • Karma: 91
    • View Profile
Re: uSVC - Homebrew retrogaming and portable VGA console
« Reply #3 on: November 09, 2020, 19:37:49 PM »
Such a cool idea, what's the feedback been like so far?
Own: Jaguar, Lynx, Dreamcast, Saturn, MegaDrive, MegaCD, 32X, GameGear, PS3, PS, PSP, Wii, GameCube, N64, DS, GBA, GBC, GBP, GB,  Xbox, 3DO, CDi,  WonderSwan, WonderSwan Colour NGPC

Offline rantonio

  • Jr. Member
  • *
  • Posts: 4
  • Karma: 0
    • View Profile
Re: uSVC - Homebrew retrogaming and portable VGA console
« Reply #4 on: November 10, 2020, 20:09:38 PM »
Such a cool idea, what's the feedback been like so far?

Hi Zapiy,
we recently reached the 60% of the goal so far!
We are confident to get to the target goal soon!  :)

 

SimplePortal 2.3.7 © 2008-2020, SimplePortal