Vircon32: Creating my own console

A place to house devlogs of member’s projects.
Post Reply
User avatar
carra
Posts: 164
Joined: Thu May 13, 2021 10:39 am

Vircon32: Creating my own console

Post by carra »

Here is the gamedev project I have been working on for the last months. It is Vircon32: a 32-bit virtual console I have designed, implemented and documented. Here you have a render of how this console could be. This is just a concept though: there are no plans to create a physical version of the console.

Image

----------------------------------------
What is Vircon32?

Is it a game console created by me from scratch. I have designed the console and created its emulator. Now I will slowly create a small game catalog for it. All of this will be available to download for free, and it will be open source.

From this link you can download the emulator, some games and demos, and the development tools:
VIRCON32 WEBSITE

----------------------------------------
How is this console?

It is a 32-bit console oriented to 2D, pixel art style indie games. It was designed to be very simple to emulate and to make it easy to create games for it. In terms of power and features it is similar to consoles from the generation of the first PlayStation, although with no 3D capabilities.



Image Image Image

Its main features are these:

* Screen: 640x360 (16:9), at 60Hz. true color.
* Audio: 16 channels with CD quality.
* Controls: Up to 4 gamepads with d-pad, 6 buttons and Start
* CPU: 32bits at 9MHz. 1 instruction per cycle.
* RAM: 64MB of memory.
* Cartridges: Up to 2.5GB of storage capacity.
* It supports using a memory card to save the game.
* It includes a BIOS for error handling and others.

----------------------------------------
How is it different from other fantasy consoles?

Systems like Pico-8 and TIC80 are more oriented to experimenting and creating minigames. It is hard to consider a more polished game given the strict limitations they have. Vircon32 is thought to allow for full games, though it is also easy to experiment with.

There is another important difference: Those 2 systems are based on Lua scripting, so the way they work has nothing to do with classic consoles. On the other hand Vircon32 is designed like a real machine with all its components: CPU, graphics chip, etc. But always in a simplified manner.

----------------------------------------
Why did I create this project?

I consider myself a big fan of classic consoles and their emulators: I believe that, aside from the games, the platforms themselves have their charm. Many of us have thought about creating our own game for SNES or Genesis. Unfortunately these consoles are complex, poorly documented, and the process of making a game for them is hard work. There are few tools, you need to know assembly and you must study all chips in the machine.

Vircon32 solves these problems by being a simplified machine, with full documentation and without the typical limitations of those machines (such as color palettes, tiles, etc). Also Vircon32 has development tools available that allow working in a more direct way: coding in C language, and importing our image and sound files to use them in our games directly.

----------------------------------------
What does the project include?

Documents:
* Console specifications
* Guides for its programming languages (C and assembler)
* Tutorials on creating an emulator
* Tutorials on learning to make games

Tools:
* Emulator of the console
* Development tools
* Tools to import files

Software for the console:
* Bios
* Game catalog
* Test programs
* Tutorials

----------------------------------------
Final words
This project is ambitious and I am working on all of this alone, so it will be a long term project. Still, I will try to keep reporting any advances here. If anyone is interested in trying to make a program for the console, please tell me as I can provide help.
Last edited by carra on Sun Aug 25, 2024 6:52 pm, edited 5 times in total.
User avatar
deleter
Posts: 60
Joined: Mon Feb 15, 2021 5:40 pm

Re: Vircon32: Creating my own console

Post by deleter »

this is really neat, I love that its emulating actual chips w/assembler + c. Kinda curious with PS1 as a rough guideline, what led you to such a relatively large max cartridge size?
User avatar
carra
Posts: 164
Joined: Thu May 13, 2021 10:39 am

Re: Vircon32: Creating my own console

Post by carra »

Well, to keep everything as simple as possible all images and sounds in the cartridge are uncompressed. Each megapixel of images will take 4 MB and each minute of audio around 10 MB. Yeah, even then the storage limits are quite large, but they still might be reached for a long or complex game. If someone made a long RPG for example, maybe they could have 100 minutes of soundtrack and reach the limit!
User avatar
carra
Posts: 164
Joined: Thu May 13, 2021 10:39 am

Re: Vircon32: Creating my own console

Post by carra »

I am now making what will be the first game for the console. It will be a Puzzle Bobble type game. Here you have some gameplay:



Still have a way to go, but many of the base mechanics are implemented. My next planned step is complete it enough to release a short playable demo.
User avatar
carra
Posts: 164
Joined: Thu May 13, 2021 10:39 am

Re: Vircon32: Creating my own console

Post by carra »

I have done some graphical improvements, mainly more shading. Also, I have hired someone in Fiverr to make some backgrounds. Here you can see the first one. I have divided it in layers to create a depth effect.

Image

The rest of scenery elements have been simplified a bit. Since the backgrounds draw the attention I think a minimalist style will fit well.

EDIT: Is there some way to make the GIF show at its real size?
User avatar
Sirocco
Site Admin
Posts: 806
Joined: Fri Feb 12, 2021 10:25 pm
Location: Outer Demoscenia
Contact:

Re: Vircon32: Creating my own console

Post by Sirocco »

The board automatically resizes images if they are over a certain level. I can probably tweak that setting, but otherwise you need to click on the image to get it to fully expand.

And I was just working on a parallax effect for my compo entry. I love seeing that stuff :)
User avatar
carra
Posts: 164
Joined: Thu May 13, 2021 10:39 am

Re: Vircon32: Creating my own console

Post by carra »

Sirocco wrote: Fri Jun 11, 2021 1:11 am I can probably tweak that setting, but otherwise you need to click on the image to get it to fully expand.
Oh I have just noticed that function. Well it's pretty easy, no problem then :)

By the way I am also noticing now that I seem to have done a poor job at communication. In case anyone is interested on how the console works or making games for it, there are quick guide documents available in Spanish and English. They are included as well if you download the development tools!
User avatar
carra
Posts: 164
Joined: Thu May 13, 2021 10:39 am

Re: Vircon32: Creating my own console

Post by carra »

So, the emulator was already fully usable (it supports all of the console functions). But it was missing something important for practical use: so far you could not edit controls or use more than 1 joystick. Since the console has 4 gamepad ports, a good joystick support is a must.

I have made a decision to separate control edition into a second program that will come with the emulator. This program lets you map every device you have to the Vircon32 gamepad. Then, when you open the emulator you can select any of these mappings for each of the 4 gamepad ports in the console. I think this will also help keep the emulator itself more simple.

Image


In addition to this I have also been adding some more advanced features to the emulator. Mostly quality of life improvements. As you can see in this small animation of the menus, you can now adjust the volume and take screenshots. For cartridges and memory cards, I have also added your typical list of recent files.

Image
User avatar
Sirocco
Site Admin
Posts: 806
Joined: Fri Feb 12, 2021 10:25 pm
Location: Outer Demoscenia
Contact:

Re: Vircon32: Creating my own console

Post by Sirocco »

Wow, that's already a ton of work. I'm impressed so far. I need to download the dev tools and see how you're handling gfx, sound, etc. I came close to starting a project similar to this about seven years ago. I (probably wisely) talked myself out of it :D
User avatar
carra
Posts: 164
Joined: Thu May 13, 2021 10:39 am

Re: Vircon32: Creating my own console

Post by carra »

Thank you Sirocco! Sure, it is a lot of work but totally worth it to me. Nothing wrong with choosing other types of projects though.

If you read the docs, you will see that I kept the console design quite simple. It was a challenge to do this while still ensuring that essential capabilities are retained. I also made a couple of videos explaining some things but they are narrated in Spanish. I will try to also record some general showcase for the console in English for you guys here.
Post Reply