Skip to content

Commit

Permalink
rm old todo.org; update README for 0.1.1
Browse files Browse the repository at this point in the history
  • Loading branch information
MarkMcCaskey committed Mar 22, 2018
1 parent 4394a97 commit 7eed32b
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 119 deletions.
56 changes: 43 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,33 +1,63 @@
# rusty-boy
[![Build Status](https://travis-ci.org/MarkMcCaskey/rusty-boy.svg?branch=master)](https://travis-ci.org/MarkMcCaskey/rusty-boy)

A Gameboy emulator and related tools in Rust (with possible rendering also in C).
A Gameboy emulator and related tools in Rust

Making this live on twitch.tv/maoeurk
It's currently in a very unstable state.

Made live on twitch.tv/maoeurk
(Unfortunately I'm not currently streaming, but I'd like to resume in the near future)

*Note*: This is under active development and is currently not in the
most usable state.
## WARNING

Feel free to submit issues and pull requests.
V0.1.1 introduces a lot of instability and has many regressions

Don't expect it to work outside of a development context at this stage.

Contributions welcome!

## About

Project done for fun and learning about Rust and project management.

This project includes a simple assembler, disassembler,
interpretation-based emulator, an ncurses debugger, and a suite of
memory visualizations.

Memory visualization inspired by [ICU64 / Frodo Redpill v0.1](https://icu64.blogspot.com/2009/09/first-public-release-of-icu64frodo.html)

Prerelease image of memory visualization of Tetris.
V0.1.0: image of memory visualization of Tetris.
![tetris v0.1.0](images/tetris.0.1.0.png)

Game, _Popup_, running with the ncurses debugger.
V0.1.0: Game, _Popup_, running with the ncurses debugger.
![popup debugger v0.1.0](images/popup-debugger.0.1.0.png)

## State of the project

Things came up and I stopped developing this and streaming. The primary reason being that the change from 0.1.0 to 0.2.0 was too large and became unmanageable.

Current goals:

- [ ] Reduce scope of project

- [ ] Rewrite rendering and visualization to be GPU based (Vulkan or OpenGL)

- [ ] Finish rendering (sprite flipping, textboxes)

- [ ] Rewrite sound (properly and with visualizations)

- [ ] Refactor CPU, memory management, and IO (basically the entire project)

- [ ] Optimize CPU execution (high level JIT? no machine code generation, just recompiled to a more performant bytecode) if it's a performance bottleneck

- [ ] Fix usability bugs (rebindable keys, some kind of more complete controller support)

- [ ] Fix regressions introduced in 0.1.1 (Tetris crashes now ;_;)


Non goals:

- Fancy compilers, assemblers, and debug/dev tools (I'll add support for these in a decoupled way if I actually finish the tasks above)

- Full support for extra features (like the camera)

= Be a better product than existing emulators (I'm sure there are much nicer emulators for playing games. Usability is not a primary goal at this time)

## Building

Expand Down Expand Up @@ -58,7 +88,7 @@ To run with the TUI debugger, run:
cargo run --release --features=debugger -- /path/to/rom -d
```

To run with the assembler and debugger, run:
To run with the debugger, run:
```
cargo run --release --features="debugger asm" -- /path/to/rom -d
cargo run --release --features="debugger" -- /path/to/rom -d
```
106 changes: 0 additions & 106 deletions src/todo.org

This file was deleted.

0 comments on commit 7eed32b

Please sign in to comment.