Console Fantasia feito para funcionar em hardware real.
- src: código fonte
- include: cabeçalhos
- assets: ícones, imagens e áudio gerais para o projeto; assets de um cart específico tem sua própria pasta.
- extern: bibliotecas externas que são compiladas junto ao projeto
- src/kernel/drivers/: implemenctação de dispositivos
- src/apps/: carts de aplicativos de sistema
- src/niblib/: uma biblioteca acessível para todos os processos (em lua) que facilita o acesso ao kernel e adiciona uma API simples de usar
- src/main.cpp: ponto de entrada
- src/kernel/Kernel.cpp: controle de processos e memória; API para Lua
- include/kernel/Memory.hpp: dispositivos mapeados em memória implementam essa interface
- src/kernel/Process.cpp: carrega e executa carts
- src/kernel/drivers/VideoMemory.cpp: acesso direto a texturas que representam a memória e vídeo
-
Baixe o projeto
git clone https://github.com/pongboy/nibble
-
Entre no diretório e crie um outro diretório chamado build
cd nibble git submodule update --init --recursive mkdir build
-
Instale as dependências
sudo apt install libx11-dev libxrandr-dev libgl-dev libudev-dev libopenal-dev libflac-dev libvorbis-dev libfreetype6-dev
-
Entre no build e rode o cmake e make
cd build cmake .. make
Baixe o código utilizando seu método preferido (GUI git, git bash etc). Lembre de inicializar
os submódulos com git submodule update --init --recursive
ou o equivalente na sua plataforma.
Instale o cmake se não tiver.
Abra o CMake GUI
e selecione o diretório do código baixado no primeiro campo de texto.
No segundo campo de texto, insira o mesmo caminho, mas com \build
ao final.
Clique em configure
e escolha o gerador Code Blocks - MinGW Makefiles
.
Configure e gere o projeto.
Abra o projeto no Code::Blocks e compile. Para rodar selecione apenas "pongboy" como target no lugar de "all" e mande rodar.
Clique em configure
e escolha o gerador de acordo com sua versão do VS.
Configure e gere o projeto.
Abra o projeto no VS e compile. Para rodar adicione a solução "pongboy" como ponto de entrada clicando com o botão direito.