A template project with the uSVC Kernel Source
Finally, we are releasing a template Atmel Studio Project, which contains all the source code of the uSVC kernel! The source code can be found here.
The project is organized as discussed below.
The main directory contains:
main.c: this is where your main function resides. Initialization should go here!
main.h: this is where include files should be put. This allows you to just include “main.h” in your project-specific c files. This has the side effect of increasing the compilation time, but it will prevent you some headaches when something (variable or function) is not found…
usvc_config.h: this files is used to configure the uSVC kernel, in order to select video mode, number of sprites, and optional features. Remember, the more the features, the higher the memory consumption, the bigger the code, the poorer the performance!
usvc_kernel/ directory, described below.
The usvc_kernel directory contains the following items:
include/ directory here you find all the ATSAMD21.h headers required to run uSVC. We preferred to include this in order to avoid any compilation issue, which might arise if you do not properly configure Atmel Studio (in particular if you don’t install the ATSAMD21 support package).
All the other files in usvc_kernel: these handle VGA (tiles, sprites, etc), Audio, USB, SD. Some other utility functions are included, like a special printf and rand function (see previous article), to avoid using dynamic memory allocation.
A Crowd Funding Campaign
This project will be, as always we do on next-hack, open source. You will be able to easily build your own console using the published design files, and get/modify/play the examples we made for it (these are open source too!).
It would be our delight seeing that uSVC has become widespread. However, we feel that if enthusiasts are going to purchase components and the PCB in single quantity on their own (especially if from different providers) they would have to pay a much higher price, which would hamper its diffusion. Moreover, unless you find a single retailer for all the components and PCB, you’ll end up in paying more for shipping fees than for the actual hardware! (Sad, but it is true).
This is why Itaca Innovation (which covered the cost of materials for the prototypes) is running a Crowd Supply campaign (https://www.crowdsupply.com/itaca-innovation/usvc). If the funding goal is met, a kit at a reasonable price will be available. The kit will include all the components, the PCB with a pre-soldered microSD card reader, and uChip.
The final goal is to spread uSVC and encourage enthusiasts its usage and development.
With uSVC kit, you’ll have a pleasing soldering session, and you will be able to play our examples. But, the most interesting part is that you can easily create your own games! And this does not end here: you will be able to customize your uSVC adding some expansion!
About next-hack and Itaca-Innovation.
Itaca-Innovation and next-hack are two separate entities. The former is a start-up company, the latter is a group of enthusiasts, who opened this website and a youtube channel, and develop and share their original open-source projects, ideas, etc., of course all for free (even though donations are not rejected!).
Due to logistic and tax reasons, next-hack cannot sell hardware (next-hack is not a company).
However, Itaca-Innovation can sell hardware, so if you are interested in uChip or uSVC, but you don’t want to build them from scratch, you should visit shop.itaca-innovation.com (uChip) or https://www.crowdsupply.com/itaca-innovation/usvc (uSVC).
Since October 2020, no people from next-hack work for Itaca-Innovation.