Playboy is a Nintendo Gameboy emulator for the Panic Playdate written in Rust

Overview

Playboy

Playboy is a Nintendo Gameboy emulator for the Panic Playdate!

Building

Playdate isn't exactly a Tier 1 platform for Rust :)

As a result, the build is a little bit trickier than usual, but you can install Playboy by following these steps.

Prerequisites

You'll need

  • The Playdate SDK (last tested with v1.9.1)
  • Rustup
  • Nightly Rust (runrustup default nightly)
  • Crank, the actual tool for compiling Rust for Playdate

Running

git clone https://github.com/adamsoutar/playboy
cd playboy
git submodule init
git submodule update

Next, you'll need to place a Gameboy game in the playboy folder as rom.gb. The Playboy repo doesn't contain any copyrighted Nintendo software or any built-in ROMs.

cp ~/MyPersonalRomCollection/Tetris.gb ./rom.gb

Now we can finally build & run the code:

crank run --release

This will launch the Playdate Simulator and boot right in to your favourite Gameboy game!

Controls

Left, Right, Up, Down, A and B are exactly what you'd expect.

Start and Select are interesting, because the Playdate doesn't have enough buttons!

Turn the crank clockwise to press Start, and counter-clockwise to press Select.

The core

Playboy is powered by my Rust Gameboy Emulator project gbrs.

If you fancy a challenge, I'd love to see people try and port it to more systems!

For the platform-specific side of things, it uses the awesome crankstart bindings by Rob Tsuk.


By Adam Soutar
You might also like...
Snake implemented in rust.
Snake implemented in rust.

rsnake - An implementation of classic snake in rust This game was built using the piston_window window wrapper. Download the game If youre using mac-o

An implementation of Sokoban in Rust
An implementation of Sokoban in Rust

sokoban-rs This is an implementation of Sokoban in the Rust Programming Language. An example level: Build Instructions Before building sokoban-rs, you

A personal etude into rust software (RPG-it's more fun to debug) development: Tales of the Great White Moose

TGWM (Tales of the Great White Moose) NB: Currently compiles. Should compile and run on both 1.28.0 and 1.31.1 if the Cargo.lock files are deleted. A

😠⚔️😈 A minimalistic 2D turn-based tactical game in Rust
😠⚔️😈 A minimalistic 2D turn-based tactical game in Rust

Zemeroth is a turn-based hexagonal tactical game written in Rust. Support: patreon.com/ozkriff News: @ozkriff on twitter | ozkriff.games | facebook |

This is a simple implementation of the classic snake game in rust
This is a simple implementation of the classic snake game in rust

My snake game Looks like this. This is with Roboto Mono Nerd Font. If you use a different font it may look different or distorted. Install rust In ord

The video game for Fonts of Power. A tabletop roleplaying game made in Rust with Bevy!

The code and rules for Fonts of Power, a tactical TTRPG / video game about exploring magical places. You can follow its development in our Discord ser

A refreshingly simple data-driven game engine built in Rust

What is Bevy? Bevy is a refreshingly simple data-driven game engine built in Rust. It is free and open-source forever! WARNING Bevy is still in the ve

Rust library to create a Good Game Easily

ggez What is this? ggez is a Rust library to create a Good Game Easily. The current version is 0.6.0-rc0. This is a RELEASE CANDIDATE version, which m

Minesweeper game developed with Rust, WebAssembly (Wasm), and Canvas
Minesweeper game developed with Rust, WebAssembly (Wasm), and Canvas

👉 click here to play the game 👈 Minesweeper game Revealing all the cells without hitting the mines is the task. Each number in the cell denotes how

Comments
  • simulator not loading playboy on windows?!

    simulator not loading playboy on windows?!

    its a great idea i hope it can work. got error like setupdigetdevicerestrypropertyfialed 122 required size 560. playboy I added the me.overflo.playboy folder but got error please help thanks!!

    opened by zartan9 0
  • Every Game Crashing Playdate

    Every Game Crashing Playdate

    Hello Adam,

    First and foremost, thank you for your time and contributions towards this!

    I just got my Playdate and promptly got this loaded onto it, however upon launching any ROM, it will result in an immediate crash with the Playdate staing "Sorry, your Playdate has crashed. Press (A) to restart."

    I am on the latest build of Playboy and can provide any other details (or crash logs if those exist somewhere).

    Update: This appears in the "Console" when my Playdate is connected to the Simulator.

    time and date set
    Loading game ""
    Extra chips: None
    ROM size: 32KB
    RAM size: 0KB
    Unsupported memory write at 0xff61 (value: 0xff)
    Unsupported memory write at 0xff61 (value: 0xff)
    Unsupported memory write at 0xff71 (value: 0x71)
    
    opened by corsair 1
  • Testing on real devices

    Testing on real devices

    Hello!

    Now that Playdate group 1 is actually shipping, we can hopefully get some Playboy testing on real devices.

    My Playdate pre-order is in group 2, so if you get yours first and you run my emulator on it, please let me know how it goes! 😄

    I am not certain that a real device is fast enough to run it without more optimisation, so I'm very curious what the real performance is like.

    help wanted 
    opened by adamsoutar 9
Releases(v0.5)
  • v0.5(Apr 30, 2022)

  • v0.4(Apr 24, 2022)

    'sup?

    Playboy v0.4 includes a ROM picker! You can now place multiple games on your Playdate and choose between them, as well as swap games without quitting the emulator.

    It also includes further optimisations for better emulation speed on real Playdate hardware 🚀

    image

    Source code(tar.gz)
    Source code(zip)
    Playboy.pdx.zip(110.26 KB)
  • v0.3(Apr 23, 2022)

  • v0.2(Apr 23, 2022)

    Hey there!

    Now that people have real, physical Playdates in their hands, we've had a chance to run the emulator on some real devices.

    This version of Playboy includes optimisations to try and get the emulation running faster on real Playdate hardware 🚀

    Of course, it still runs great in the Simulator if you just want to play it there 🙂

    Enjoy!

    Source code(tar.gz)
    Source code(zip)
    Playboy.pdx.zip(94.04 KB)
  • v0.1(Apr 22, 2022)

Owner
Adam Soutar
Games / Compilers / Emulators / Apps / Web
Adam Soutar
4fun open-source Cave Story reimplementation written in Rust

doukutsu-rs Download latest Nightly builds (Requires being logged in to GitHub) A re-implementation of Cave Story (Doukutsu Monogatari) engine written

null 564 Jan 1, 2023
A Doom Renderer written in Rust.

Rust Doom A little Doom 1 & 2 Renderer written in Rust. Mostly written while I was learning the language about 2 years ago, so it might not the best e

Cristi Cobzarenco 2.2k Jan 1, 2023
ASCII terminal hexagonal map roguelike written in Rust

rhex Contributors welcome! Rhex is looking for contributors. See Contributing page for details. Introduction Simple ASCII terminal hexagonal map rogue

Dawid Ciężarkiewicz 137 Dec 2, 2022
⬡ Zone of Control is a hexagonal turn-based strategy game written in Rust. [DISCONTINUED]

Zone of Control The project is discontinued Sorry, friends. ZoC is discontinued. See https://ozkriff.github.io/2017-08-17--devlog.html Downloads Preco

Andrey Lesnikóv 354 Nov 14, 2022
The classic tetris game written in Rust using ncurses

tetris.rs This is the classic tetris game I wrote to have a bit of fun with Rust. Installation and playing cargo install --

null 71 Jul 25, 2022
Data-oriented and data-driven game engine written in Rust

What is Amethyst? Amethyst is a data-driven and data-oriented game engine aiming to be fast and as configurable as possible. Principles These principl

Amethyst Engine 7.9k Dec 31, 2022
A solver for the popular Wordle game written in Rust.

Wordle Solver A solver for the popular Wordle game written in Rust. It does not attempt to be the most efficient solver possible but tries to avoid us

William Hoggarth 2 Jul 1, 2022
Simple wordle clone written in Rust.

wordle-rs A small wordle clone built in rust. Note: There are a lot of weird words I've never even heard in the dictionary file. If anyone knows a bet

Dheeraj Prakash 1 Feb 2, 2022
Angolmois BMS player, Rust edition

Angolmois Rust Edition This is a direct, one-to-one translation of Angolmois to Rust programming language. Angolmois is a BM98-like minimalistic music

Kang Seonghoon 95 Oct 20, 2022
A roguelike game in Rust

A fantasy deathcrawl in Rust Work in progress. To run, with Rust compiler and Cargo package manager installed: cargo run --release When building on W

Risto Saarelma 347 Nov 21, 2022