Giter Site home page Giter Site logo

pin8's Introduction

Pin8

Pin8 is a native Chip-8 emulator for Haiku OS (which should also compile in Zeta and BeOS). It has been written in C++ for the BeOS/Haiku API and its main aim is to be simple and fun.

Features

  • Responsive interface
  • Threaded user-interface with both virtual keyboard and physical one.
  • Sound for games (beep-system configuration is required, though).
  • Two run modes: standard and fast (540 Hz and 1000 Hz) (Up to my knowledge, Chip-8 does not define an explicit frequency... but these values have let me enjoy all games I have tried so far)

Motivation

I just wanted to learn how native software for the BeOS family is created in C++ and I just decided to write this program as a first project. Besides, as I have never seen this kind of emulator in these systems, I thought that it was a good idea.

License

This program has been written by Nicolás C. Cruz (UAL), (August, 2017) and it can be both used and modified by anyone interested at it for free. However, this initial autorship must be referenced. No commercial versions of the program can be created. This software is distributed with good intentions but without any kind of warranty and responsability.

Acknowledgements

First, I would like to think all people who has documented the Chip-8 scpecification as well as created and shared their own emulators (see the comments in the core). Thank to their work, I could create my initial Chip-8 emulator in Java. Second, I wish to thank all kind users of BeShare and the Haiku IRC channel for helping me with some doubts regarding the BeAPI. Third and last, I would like to thank DarkWyrm (Jon Yoder) for his great book "Learning to program with Haiku"

Additional information

Writing Chip-8 games is a very funny experience. If you are interested at learning the Chip-8 assembly and creating your own games, I highly recommend the online IDE Octo, by John Earnest. The default rom included with Pin8 has also been created with it.

NOTE

In case of display blinking (found in Zeta OS) try to comment App.cpp: lines 39 and 43 (it is an if condition to minimize drawing) and re-compile.

pin8's People

Contributors

cnelmortimer avatar

Stargazers

Bocke avatar

Watchers

James Cloos avatar  avatar

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.