Skip to content

Releases: zlfn/rust-gb

0.1.0-alpha

02 Nov 19:59
Compare
Choose a tag to compare
0.1.0-alpha Pre-release
Pre-release

First Alpha Release!

The ROM build process has stabilized to some extent, allowing us to reveal the first alpha release of Rust-GB!

You can find it in crates.io and docs.rs

Features

The features you can test at the moment are as follows.

  • io::GbStream : A print stream that allows you to print characters on GameBoy screen. Including familiar print! and println! macros.
  • io::Joypad : A struct that allows you check GameBoy key input.
  • mmio : This is a module that makes it easy to Memory Map IO using VolAddress. Note that the distinction between Safe and Unsafe is not yet accurate. If you think Unsafe is Safe enough, or if you find a Undefined Behavior in the mmio area specified as Safe, I would appreciate it if you could report it to issue :)
  • drawing : This is a drawing library that uses GBDK's All Points Addressable (APA) mode. By default, it is recommended not to use it in the long run because the side effects are too large and slow, but it's not bad to use for simple testing.
  • gbdk_c : Provides incomplete binding for GBDK-2020

Caution

  • The compilation process is still very, very unstable! In particular, there are many features that cannot be used in core, For external crates, most of them are still unavailable. We're trying to work it out, but it's going to take a long time...
  • You can only run the compiler on Linux x64 platforms. It is also libc dependent, so it may not run if it is not in the latest distribution or in special cases.

Versioning

Since new features and document modifications are still very frequent, we will follow the following versioning principles for the time being. This is because the minor version can become too large if we keep the semantic versioning as it is.

X.Y.Z-alpha.W

  • X : 0 until the build is sufficiently stabilized.
  • Y : It goes up one by one as a new module or big feature is added.
  • Z : It goes up when we fix a bug or add a new feature to an existing module.
  • alpha : We're going to keep it for a while. This is because it is not very suitable for production or big projects.
  • W : It goes up when modifying documents or modifying the build process & compiler (It does not affect existing code.)

Example ROM builds

02 Nov 20:29
Compare
Choose a tag to compare
Example ROM builds Pre-release
Pre-release

Reference build of examples.
Although it is tagged in the 0.0.1-alpha version for convenience, we actually rebuilds each ROM with the latest version whenever an example is added.

  • rand : A port of rand example in GBDK-2020.
  • filltest : A port of filltest example in GBDK-2020.
  • joypad : Simple joypad input example.