Vircon32
Vircon32 is a 32-bit system written by Carra that uses C as its development language, and includes a number of libraries intended to simplify game development. It includes a compiler and assembler, as well as various development tools for creating and compiling games.
The Vircon32 project is focused on being as open and accessible as possible. For that reason, the console design is fully documented and all related official software (emulator, development tools and Libretro core) is kept free and open source. It also places emphasis in not being tied to any external technologies like game engines, graphic libraries or file formats[1].
Capabilities[edit]
The Vircon32 system itself is a set of specifications defining the limitations and capabilities of the various components. It uses a simplified 32-bit CPU running at 15 MHz, and has 16 MB of RAM. Floating point operations on the CPU are supported. To save games, the system provides 1 MB of storage in the form of a memory card.
The screen resolution is 640x360 (16:9), with 24-bit RGB color supported. The sound is stereo 16-bit at 44100 Hz (CD quality). The graphics are based on texture atlases, and the system does not natively support 3D.
The system supports up to 4 gamepads with seven buttons each (A, B, X, Y, L, R, Start), plus a directional pad.
Programming[edit]
Unlike many other FCs that use scripting environments as their main programming interface, Vircon32 defines an actual architecture with a custom instruction set architecture, detailing components and communication at low level. ROM files contain compiled program binaries that the CPU executes as instructions.
The design of Vircon32 CPU is loosely based on the x86 processor, but unlike mainstream processors Vircon32 is a pure 32-bit machine: it cannot access individual bytes, or handle 8-bit/16-bit data formats.[2]
Vircon32 games are meant to be developed using an external toolchain. To that end, a set of cross-platform development utilities are provided to compile and assemble assets and code into Vircon32 ROMs. Games can currently be written in the C programming language or directly in assembly language[3]. Game assets are .wav file for sound, and PNG images for textures. Each ROM is packed into a single file and includes binaries and assets.
Platforms[edit]
In addition to its desktop emulator, the console also has a Libretro core and has been officially integrated into RetroArch[4], as well as the front-ends Lakka, EmuELEC, AmberELEC and ROCKNIX.
Links[edit]
References[edit]
- ↑ Devlog: Creando mi propia consola https://www.mediavida.com/foro/gamedev/devlog-vircon32-creando-mi-propia-consola-666980/24#695
- ↑ Vircon32 Spec part 3 - The processor (CPU), https://github.com/vircon32/Vircon32Documents/blob/main/Specification/English/PDF%20documents/Spec%20part%203%20-%20The%20processor%20(CPU).pdf
- ↑ "Development tools", https://www.vircon32.com/devtools.html
- ↑ "Vircon32 Joins libretro/RetroArch", https://www.libretro.com/index.php/vircon32-libretro-core/