README Updates
Former-commit-id: 46775ea001b13cd63193c0f4dee2915aa48ae095
This commit is contained in:
parent
8f8ac12cc4
commit
81655e6730
50
README.md
50
README.md
|
@ -1,34 +1,30 @@
|
||||||
|
|
||||||
![icon ](assets/icon_cropped_small.png)
|
|
||||||
|
|
||||||
# RustBoyAdvance-NG
|
# RustBoyAdvance-NG
|
||||||
|
|
||||||
![license](https://img.shields.io/github/license/michelhe/rustboyadvance-ng) [![Build Status](https://travis-ci.com/michelhe/rustboyadvance-ng.svg?branch=master)](https://travis-ci.com/michelhe/rustboyadvance-ng)
|
![license](https://img.shields.io/github/license/michelhe/rustboyadvance-ng) [![Build Status](https://travis-ci.com/michelhe/rustboyadvance-ng.svg?branch=master)](https://travis-ci.com/michelhe/rustboyadvance-ng)
|
||||||
|
|
||||||
Nintendo GameBoy Advance ™ emulator and debugger, written in rust.
|
Nintendo GameBoy Advance ™ emulator and debugger, written in rust.
|
||||||
|
|
||||||
|
|
||||||
|
<div align="center">
|
||||||
|
<img width="360px" src="assets/icon_cropped_small.png">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
# Project Structure
|
||||||
|
* `rustboyadvance-core/src` - Main library crate
|
||||||
|
* `bindings/` - Bindings to other languages. Currently only java binidings through JNI.
|
||||||
|
* `platform/` - Constains executables & application built with `rustboyadvance-core`
|
||||||
|
* `platform/rustbodyadvance-sdl2` - Desktop application built with sdl2
|
||||||
|
* `platform/rustbodyadvance-minifb` - Desktop application built with minifb, *not maintained*.
|
||||||
|
* `platform/android` - A PoC Android application.
|
||||||
|
|
||||||
# Progress
|
# Progress
|
||||||
|
|
||||||
![Pokemon Emerald](media/screenshot1.png)
|
![Pokemon Emerald](media/screenshot1.png)
|
||||||
|
|
||||||
## Supported features:
|
## Emulation Todo:
|
||||||
* Display modes 0,1,2,3,4
|
|
||||||
* PCM Audio channels
|
|
||||||
* Snapshots (AKA savestates)
|
|
||||||
* Cartridge backup saves
|
|
||||||
|
|
||||||
## Todo:
|
|
||||||
* CGB audio (4 wave generator channels)
|
* CGB audio (4 wave generator channels)
|
||||||
* web.asm frontend
|
|
||||||
* Andriod & IOS applications
|
|
||||||
* color correction
|
|
||||||
* Configurable keybindings
|
|
||||||
* Controller support
|
|
||||||
|
|
||||||
|
# Build and usage (Desktop Application)
|
||||||
# Build and usage
|
|
||||||
|
|
||||||
The following instructions build the `rba-sdl2` target which is currently the main platform. (`rba-minifb` is also available without audio support)
|
|
||||||
|
|
||||||
To get started, you need to get a [stable rust toolchain](https://rustup.rs).
|
To get started, you need to get a [stable rust toolchain](https://rustup.rs).
|
||||||
|
|
||||||
|
@ -62,7 +58,7 @@ $ cargo run --release -p rustboyadvance-sdl2 -- path/to/rom
|
||||||
|
|
||||||
You can also drag&drop rom files or any zip files containing `.gba` files inside into the emulator window and a new rom will be loaded.
|
You can also drag&drop rom files or any zip files containing `.gba` files inside into the emulator window and a new rom will be loaded.
|
||||||
|
|
||||||
# Key bindings
|
## Key bindings
|
||||||
|
|
||||||
> Currently the key bindings are not configureable.
|
> Currently the key bindings are not configureable.
|
||||||
|
|
||||||
|
@ -90,19 +86,17 @@ Special key bindings
|
||||||
| F5 | Save snapshot file |
|
| F5 | Save snapshot file |
|
||||||
| F9 | Load snapshot file |
|
| F9 | Load snapshot file |
|
||||||
|
|
||||||
# Why is this project needed ?
|
|
||||||
|
|
||||||
It's actually **not**. There are quite a lot of GBA emulators, ~~and even some written in rust~~. Actually, I couldn't find any game capable emulators written in rust.
|
# Android Application
|
||||||
|
|
||||||
I'm only doing this as a side project intended for learning rust.
|
The android project is placed inside `platform/android`.
|
||||||
|
To build it, open it with Android Studio.
|
||||||
|
|
||||||
This is my *third* take on this project. My first go at this was about 3 years ago, but I didn't like rust much at the time so it got abandoned.
|
You also need to set up rust to build android targets with NDK.
|
||||||
I tried to resurrect it a year ago but didn't have the time to get invested in a side-project, let alone learning rust.
|
|
||||||
|
|
||||||
I've grown to like rust a lot since then, so here we go again.
|
TODO - instructions
|
||||||
You know what they say, *third time's a charm*.
|
|
||||||
|
|
||||||
## More Screenshots
|
# More Screenshots
|
||||||
![Kirby - Nightmare in Dreamland](media/screenshot2.png) ![Dragon Ball - Legacy of Goku 2](media/screenshot3.png)
|
![Kirby - Nightmare in Dreamland](media/screenshot2.png) ![Dragon Ball - Legacy of Goku 2](media/screenshot3.png)
|
||||||
|
|
||||||
# Links and attribution
|
# Links and attribution
|
||||||
|
|
Reference in a new issue