8-bit fantasy console inspired by the Gameboy
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mat~ a664d1b095 Update 'README.md' 2 years ago
asm 1.0.0 2 years ago
.gitignore 1.0.0 Release 2 years ago
LICENSE Add License 2 years ago
Makefile Fresh makefile! 2 years ago
README.md Update 'README.md' 2 years ago
config.c Tested and fixed new features. 2 years ago
config.h Configuration Parser completed! 2 years ago
controller.h Added controller.h 2 years ago
cpu.c Small bug fix in mov (hl), n 2 years ago
cpu.h Debugger. 2 years ago
debug.c Debug 2 years ago
debug.h Debug 2 years ago
gpu.c Fixed annoying bug. 2 years ago
gpu.h Moved SDL front-end to a seperate file and added 2 years ago
logging.c Commented out everything. 2 years ago
logging.h Commented out everything. 2 years ago
main.c 1.0.0 2 years ago
sdl_gpu.c New window title 2 years ago
sdl_gpu.h Minor updates. 2 years ago
spu.c Moved SDL front-end to a seperate file and added 2 years ago
spu.h Command line arguments 2 years ago
tests.c Added a few stuff. 2 years ago
todoo.txt 1.0.0 2 years ago
vicera.png First commit 2 years ago


Vicera Logo

VICERA is a fantasy console written in C heavily inspired by the Gameboy. It features it's very own CPU architecture, Tiles and Sprites, the same controller as the Gameboy and a Monochrome 160x160 display.

The SPU hasn't even been planned yet so stay tuned. I'll tell more here if ever I start implementing the SPU.

Blog articles

Here are some blog articles I have wrote about the VICERA!

Checklist of the current development

Here is the checklist :

  • Implement CPU
  • Implement GPU
  • Implement Controller emulation
  • Write an SDL front-end
  • Command-line arguments
  • Configuration file
  • SPU
  • Write an assembler (Not completely)

The documentation will start being written when the checklist will be completed.
If you want a more detailed TODO list, refer to this file


The VICERA is written in C with only standard libraries and the SDL library. So the only dependency you need is SDL2. Either build it yourself or install it using your distribution's package manager.

This is how you install SDL2 using pacman on Arch Linux:

$ sudo pacman -S sdl2

To build it, this is extremely simple.

$ make
$ ./vicera <ROM File>

A more detailed building guide will come later when the project will come at a stable state.


All pull requests and issues in the project are welcome! So if you want to contribute, just make an issue or fork the code then PR it.


This project is licensed under the MIT License.