Compare commits

...

14 Commits

View File

@@ -10,15 +10,15 @@
*** for contributors-url, forks-url, etc. This is an optional, concise syntax you may use. *** for contributors-url, forks-url, etc. This is an optional, concise syntax you may use.
*** https://www.markdownguide.org/basic-syntax/#reference-style-links *** https://www.markdownguide.org/basic-syntax/#reference-style-links
--> -->
[![project_license][license-shield]][license-url] [![MIT][license-shield]][license-url]
[![LinkedIn][linkedin-shield]][linkedin-url] <!-- [![LinkedIn][linkedin-shield]][linkedin-url] -->
<!-- PROJECT LOGO --> <!-- PROJECT LOGO -->
<br /> <br />
<div align="center"> <div align="center">
<a href="https://git.colelanders.dev/jlanders/chip8-em"> <!-- <a href="https://git.colelanders.dev/jlanders/chip8-em">
<img src="images/logo.png" alt="Logo" width="80" height="80"> <img src="images/logo.png" alt="Logo" width="80" height="80">
</a> </a> -->
<h3 align="center">Chip8 Emulator</h3> <h3 align="center">Chip8 Emulator</h3>
@@ -49,6 +49,7 @@
<ul> <ul>
<li><a href="#prerequisites">Prerequisites</a></li> <li><a href="#prerequisites">Prerequisites</a></li>
<li><a href="#installation">Installation</a></li> <li><a href="#installation">Installation</a></li>
<li><a href="#running">Running</a></li>
</ul> </ul>
</li> </li>
<li><a href="#usage">Usage</a></li> <li><a href="#usage">Usage</a></li>
@@ -65,14 +66,10 @@
<!-- ABOUT THE PROJECT --> <!-- ABOUT THE PROJECT -->
## About The Project ## About The Project
[product-screenshot] ![Chip8 Emulator Screen Shot][product-screenshot]
Here's a blank template to get started. To avoid retyping too much info, do a search and replace with your text editor for the following: `github_username`, `repo_name`, `twitter_handle`, `linkedin_username`, `email_client`, `email`, `project_title`, `project_description`, `project_license`
<p align="right">(<a href="#readme-top">back to top</a>)</p> <p align="right">(<a href="#readme-top">back to top</a>)</p>
### Built With ### Built With
* [![Rust][Rust]][Rust-url] * [![Rust][Rust]][Rust-url]
@@ -82,51 +79,63 @@ Here's a blank template to get started. To avoid retyping too much info, do a se
<p align="right">(<a href="#readme-top">back to top</a>)</p> <p align="right">(<a href="#readme-top">back to top</a>)</p>
<!-- GETTING STARTED --> <!-- GETTING STARTED -->
## Getting Started ## Getting Started
This is an example of how you may give instructions on setting up your project locally. You can find pre-built binaries for Windows/MacOS/Linux -> [releases](https://git.colelanders.dev/jlanders/chip8-em/releases)
To get a local copy up and running follow these simple example steps.
To run the code get a local copy up and running follow these simple example steps.
### Prerequisites ### Prerequisites
This is an example of how to list things you need to use the software and how to install them. This is an example of how to list things you need to use the software and how to install them.
* npm * rust - Follow the official install guide [here](https://rust-lang.org/tools/install/)
```sh <!-- ```sh
npm install npm@latest -g npm install npm@latest -g
``` ``` -->
### Installation ### Installation
1. Get a free API Key at [https://example.com](https://example.com) 1. Clone the repo
2. Clone the repo
```sh ```sh
git clone https://git.colelanders.dev/jlanders/chip8-em.git git clone https://git.colelanders.dev/jlanders/chip8-em.git
``` ```
3. Install NPM packages 2. Navigate to the repo directory
```sh ```sh
npm install cd chip8-em
``` ```
4. Enter your API in `config.js` 3. Build the project
```js
const API_KEY = 'ENTER YOUR API';
```
5. Change git remote url to avoid accidental pushes to base project
```sh ```sh
git remote set-url origin github_username/repo_name cargo build
git remote -v # confirm the changes
``` ```
### Running
Choose the method that best fits your needs. If you just want to use the emulator, I recommend using the **Pre-built Binaries**.
#### Prerequisite - Obtaining a Chip8 Rom
*Note - as of now the project only supports chip8 programs. Chip8 extensions such as SUPER-Chip or XO-Chip will not work with v1*
This emulator requires you either:
* Create your own ROM using a tool like [Octo](https://johnearnest.github.io/Octo/)
* Download a ROM made by the community
* Navigate to [johnearnest.github.io/chip8Archive/](https://johnearnest.github.io/chip8Archive/?sort=platform)
* Select a chip8 ROM that seems interesting
* Click "Download Rom"
#### 🚀 Option 1: Pre-built Binaries (Fastest)
**WIP**
#### 🛠️ Option 2: Built Locally (From Source)
**WIP**
<p align="right">(<a href="#readme-top">back to top</a>)</p> <p align="right">(<a href="#readme-top">back to top</a>)</p>
<!-- USAGE EXAMPLES --> <!-- USAGE EXAMPLES -->
## Usage ## Usage
Use this space to show useful examples of how a project can be used. Additional screenshots, code examples and demos work well in this space. You may also link to more resources. **WIP**
<!-- Use this space to show useful examples of how a project can be used. Additional screenshots, code examples and demos work well in this space. You may also link to more resources. -->
<!-- _For more examples, please refer to the [Documentation](https://example.com)_ --> <!-- _For more examples, please refer to the [Documentation](https://example.com)_ -->
@@ -174,7 +183,8 @@ Project Link: [https://git.colelanders.dev/jlanders/chip8-em](https://git.colela
<!-- ACKNOWLEDGMENTS --> <!-- ACKNOWLEDGMENTS -->
## Acknowledgments ## Acknowledgments
* []() * [raylib-rs](https://github.com/raylib-rs/raylib-rs) - For raylib rust bindings
* [John Earnest Chip8 Archive](https://github.com/JohnEarnest/chip8Archive) - For amazing tools and support of the Chip8 ecosystem
<p align="right">(<a href="#readme-top">back to top</a>)</p> <p align="right">(<a href="#readme-top">back to top</a>)</p>
@@ -186,6 +196,8 @@ Project Link: [https://git.colelanders.dev/jlanders/chip8-em](https://git.colela
[license-url]: https://git.colelanders.dev/jlanders/chip8-em/blob/master/LICENSE.txt [license-url]: https://git.colelanders.dev/jlanders/chip8-em/blob/master/LICENSE.txt
[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge&logo=linkedin&colorB=555 [linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge&logo=linkedin&colorB=555
[linkedin-url]: https://linkedin.com/in/linkedin_username--> [linkedin-url]: https://linkedin.com/in/linkedin_username-->
[license-shield]: https://img.shields.io/badge/license-MIT-blue
[license-url]: https://git.colelanders.dev/jlanders/chip8-em/src/branch/main/LICENSE
[product-screenshot]: images/screenshot.png [product-screenshot]: images/screenshot.png
<!-- Shields.io badges. You can a comprehensive list with many more badges at: https://github.com/inttter/md-badges --> <!-- Shields.io badges. You can a comprehensive list with many more badges at: https://github.com/inttter/md-badges -->
[Rust]: https://img.shields.io/badge/rust-%23E32F26.svg?style=for-the-badge&logo=rust&logoColor=white [Rust]: https://img.shields.io/badge/rust-%23E32F26.svg?style=for-the-badge&logo=rust&logoColor=white
@@ -195,7 +207,7 @@ Project Link: [https://git.colelanders.dev/jlanders/chip8-em](https://git.colela
[Raylib-url]: https://www.raylib.com/ [Raylib-url]: https://www.raylib.com/
[Clap]: https://img.shields.io/badge/clap-blue?style=for-the-badge&logo=command-line&logoColor=white [Clap]: https://img.shields.io/badge/clap-blue?style=for-the-badge&logo=command-line&logoColor=white
[Clap-url]: https://clap.rs/ [Clap-url]: https://github.com/clap-rs/clap
[Rodio]: https://img.shields.io/badge/rodio-orange?style=for-the-badge&logo=audio-bus&logoColor=white [Rodio]: https://img.shields.io/badge/rodio-orange?style=for-the-badge&logo=audio-bus&logoColor=white
[Rodio-url]: https://github.com/RustAudio/rodio [Rodio-url]: https://github.com/RustAudio/rodio