Giter Site home page Giter Site logo

avojak / vee Goto Github PK

View Code? Open in Web Editor NEW
7.0 2.0 0.0 210 KB

Game Boy emulator (and more) experiment written in Vala and GTK for elementary OS

License: GNU General Public License v3.0

Makefile 0.94% Meson 3.63% Shell 0.31% Python 0.34% Vala 94.79%

vee's Introduction

CI Lint GitHub GitHub release (latest SemVer)

Icon

Vee

Vala Game Boy Emulator

Vee is a project for experimenting with emulation written in Vala. The primary goal is to create a Game Boy emulator, however other systems will be included along the way (including CHIP-8). Vee is designed for elementary OS.

For work on a multi-system emulator for elementary OS, check out my other project: Vee.

Background

I have wanted to create my own Game Boy emulator for a very long time. Along the way I realized that I should start out a bit more modest and implement a CHIP-8 emulator (technically interpreter) first. I plan on implementing debugging tools for each system that is emulated in the hopes of helping other people along with their own emulator journey.

Install from Source

You can install Vee by compiling from source. Here's the list of dependencies required:

  • granite (>= 0.6.0)
  • debhelper (>= 10.5.1)
  • gettext
  • libgtk-3-dev (>= 3.10)
  • meson
  • valac (>= 0.28.0)

An install-dev-dependencies.sh script is available to help developers get up and running.

Building and Running

$ meson build --prefix=/usr
$ sudo ninja -C build install
$ com.github.avojak.vee

Flatpak

To test the Flatpak build with Flatpak Builder:

$ flatpak-builder build com.github.avojak.vee.yml --user --install --force-clean
$ flatpak run --env=G_MESSAGES_DEBUG=all com.github.avojak.vee

Development Build

You can also install a development build alongside a stable version by specifying the dev profile:

$ meson build --prefix=/usr -Dprofile=dev
$ sudo ninja -C build install
$ G_MESSAGES_DEBUG=all com.github.avojak.vee-dev

Updating Translations

When new translatable strings are added, ensure that po/POTFILES contains a reference to the file with the translatable string.

Update the .pot file which contains the translatable strings:

$ ninja -C build com.github.avojak.vee-pot

Generate translations for the languages listed in the po/LINGUAS files:

$ ninja -C build com.github.avojak.vee-update-po

Copyright Notice

Vee is not affiliated, associated, authorized, endorsed by, or in any way officially connected with Nintendo®, or any of its subsidiaries or its affiliates. Game Boy™ is a registered trademark of Nintendo Corporation.

All other product names mentioned herein, with or without the registered trademark symbol ® or trademark symbol ™ are generally trademarks and/or registered trademarks of their respective owners.

vee's People

Contributors

avojak avatar suzie97 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

vee's Issues

App Icon

@Suzie97 - This is the repo where I will be continuing work on developing my own Game Boy emulator. This project is mostly for my own curiosity and desire to learn about emulation. It wouldn't have any functionality not present in Replay, but the goal is to create a Game Boy emulator written in Vala. I alluded to this in the Replay repository, but wanted to ask explicitly here if it was ok for me to continue using the icon that you developed, but in this new project?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.