A port of OxidGB to the Raspberry Pi Pico

Overview

OxidGB Pico Port

This is a simple, display-only (for now) port of OxidGB to the Raspberry Pi Pico.

Note that this by default overclocks your device - you have been warned!

Prerequisites

You will need:

  • elf2uf2, part of the Raspberry Pi Pico SDK (if you have the SDK available, you already have this!).
    • Note that the Pico SDK is not required for this - you only need elf2uf2, so you don't need the main ARM toolchain/etc, just this binary.
  • A nightly Rust compiler with the thumbv6m-none-eabi target installed. For example:
rustup default nightly
rustup target add thumbv6m-none-eabi

Building

First, take your ROM of choice and put it in the root of the directory.

In main.rs, change your settings as required (including overclocking values).

In your prompt of choice:

cargo build --target thumbv6m-none-eabi --release
elf2uf2 -v target/thumbv6m-none-eabi/release/oxidgb-pico output.uf2

Running

Flash output.uf2 to your device as normal, and cross your fingers!

License

Oxidgb is licensed under the MIT license. This can be found here.

You might also like...
Rust port of the official Windows Driver Samples on Github. Leverages windows-drivers-rs

Rust Driver Samples This is a Rust port of the driver samples from the original Windows Driver Samples on Github. The repository provides examples and

KFtray - A tray application that manages port forwarding in Kubernetes.
KFtray - A tray application that manages port forwarding in Kubernetes.

Ktray is written in Rust and React, with Tauri framework. The app simplifies the process of starting and stopping multiple port forwarding configurations through a user-friendly interface.

Program a Raspberry Pi Pico with pure Rust

pi-pico-rs Program a Raspberry Pi Pico with pure Rust. Get Started Install the latest version of Rust and the thumbv6m-none-eabi target. This is the p

A Raspberry Pi Pico-based sequencer for Eurorack

A Raspberry Pi Pico-based sequencer for Eurorack.

World's first, but possibly worst, blinky for the pico in Rust

pico-blink-rs Running Rust code on the Raspberry Pi Pico Booting The RP2040 has external QSPI flash. There is an internal mask-ROM bootloader which ca

[OUTDATED] Instructions for how to cross compile Rust projects for the Raspberry Pi

Cross Compiling for Raspberry Pi This guide will show how Rust programs can be cross compiled for the Raspberry Pi using Cargo. These instructions may

Operating System development tutorials in Rust on the Raspberry Pi
Operating System development tutorials in Rust on the Raspberry Pi

Operating System development tutorials in Rust on the Raspberry Pi

Tested on Raspberry pi 3 on QEMU

Tested on Raspberry pi 3 on QEMU

Raspberry PI library for Rust. GPIO controller, L298N motors, sockets and
Raspberry PI library for Rust. GPIO controller, L298N motors, sockets and "i2clib" integrated

raslib Raspberry PI library for Rust. GPIO controller, L298N motors, sockets and "i2clib" integrated All tests are made on Raspberry PI 4B+ on Raspbia

Humidity & Temperature CLI datalogger for DHT22 sensor on Raspberry Pi.

Datalogger Humidity & Temperature CLI datalogger for DHT22 sensor on Raspberry Pi. Index Install Git Cargo Master branch Latest release from crates.io

Raspberry Pi's CPU and GPU temperature exporter for Prometheus consumption.
Raspberry Pi's CPU and GPU temperature exporter for Prometheus consumption.

Pi Temperature Exporter A simple application for collecting Raspberry Pi's CPU and GPU temperatures and exporting them for Prometheus consumption. Ins

A command-line tool for extensible LED matrix control with Raspberry Pi devices.

Matricks "Teach an old matrix new tricks..." Matricks is a WASM-based extensible LED matrix control tool intended for use on Raspberry Pi devices. LED

A controller for the display and fan of the Raspberry Pi Waveshare PoE HAT written in Rust πŸ¦€

πŸ¦€πŸ‡ RustBerry-PoE-Monitor RustBerry-PoE-Monitor is a Rust-based monitoring and control tool for the Raspberry Pi, specifically designed for use with

A cross-platform serial port library in Rust. Provides a blocking I/O interface and port enumeration including USB device information.

Note: This is a fork of the original serialport-rs project on GitLab. Please note there have been some changes to both the supported targets and which

An app which reads data from a serial port and serves it on a TCP port.

serial-to-tcp An app which reads data from a serial port and serves it on a TCP port. How to use Clone this repo and build the app as outlined below (

πŸ€– The Modern Port Scanner πŸ€–
πŸ€– The Modern Port Scanner πŸ€–

➑️ Discord | Installation Guide | Usage Guide ⬅️ The Modern Port Scanner. Fast, smart, effective. πŸ‹ Docker (Recommended) πŸ‘©β€πŸ’» Kali / Debian πŸ—οΈ Arch

Rust port of pexpect

rexpect Spawn, control, and respond to expected patterns of child applications and processes, enabling the automation of interactions and testing. Com

A Rust port of the password primitives used in Django Project.

Rust DjangoHashers A Rust port of the password primitives used in Django Project. Django's django.contrib.auth.models.User class has a few methods to

Rust port of simdjson

SIMD Json for Rust   Rust port of extremely fast simdjson JSON parser with serde compatibility. readme (for real!) simdjson version Currently tracking

Comments
  • PicoW Port?  Possible Single Page Hosting for Game Swap?

    PicoW Port? Possible Single Page Hosting for Game Swap?

    The PicoW has built in WiFi, and a slightly different pin set. I wanted to know if you had any plans to port this to the PicoW, and maybe add some code to host a simple page to allow game swapping without plugging into a computer?

    opened by AkitaAttribute 4
  • Schematics?

    Schematics?

    Just wondering if you'll put up schematics for the various screens etc you'll support.

    And while I'm here what are the input options? Nes/SNES controller? (Then i could just hook up a blue retro esp32 cackles)

    And will you ever run directly from cart? If there's enough io

    opened by GizmoTheGreen 2
  • Port for Waveshare 1.14inch LCD v2 (ST7789VW LCD)

    Port for Waveshare 1.14inch LCD v2 (ST7789VW LCD)

    Hey, just wanted to start by saying I love your project! Got it setup on my PicoDisplay and it looks so cool.

    I was wondering if you're still working on this, would you be willing to port the code to work on the Waveshare 1.14inch LCD v2 with button support? I feel like this LCD's button mapping would work perfectly with your emulator.

    I would do it myself but I absolutely suck at Rust and have a lot to learn, I'm more than happy to donate some money for your time if you're willing to help out.

    Thanks!

    opened by OldMate6288 9
  • Port for SSD1306 OLED driver

    Port for SSD1306 OLED driver

    Could you please create a port that uses the SSD1306 OLED driver? It would be really awesome to be able to run this on the Thumby.

    I tried my lock rewriting the code, but was really overwhelmed by Rust. Also, if you don't want to rewrite the code, I'm still very thankful for the work you've already done.

    opened by dakhnod 18
Owner
James
Does a whole bunch of stuff.
James
A cross-platform serial port library in Rust. Provides a blocking I/O interface and port enumeration including USB device information.

Note: This is a fork of the original serialport-rs project on GitLab. Please note there have been some changes to both the supported targets and which

Serialport 128 Jan 4, 2023
A cross-platform serial port library in Rust.

Introduction serialport-rs is a general-purpose cross-platform serial port library for Rust. It provides a blocking I/O interface and port enumeration

Bryant Mairs 143 Nov 5, 2021
Repo for Monaco, a DCA engine for Solana. Built on Solend and lending protocols (Jet, Solend, Port, etc...)

Monaco Monaco is a DCA protocol for solana built on top of Serum and compatible with any program that implements or extends the instruction interface

Rohan Kapur 19 Apr 13, 2022
A Rust port of parinfer.

parinfer-rust Infer parentheses for Clojure, Lisp and Scheme. https://github.com/eraserhd/parinfer-rust A full-featured, super fast implementation of

Jason Felice 432 Dec 31, 2022
⚑️ Fast MagicString port driven by Rust and N-API

magic-string-rs 100% API compatible (port) MagicString by Rich-Harris implementation for Node and modern browsers, also, for rust, of course. Installa

Hana 35 Nov 21, 2022
Quickly mint NFT(able)s port forwards remotely

Easy expose A really simple way to expose some service behind a NAT, similar to rathole and frp. WARNING: This does not secure the channel, or even do

Ben Simms 3 Dec 3, 2022
πŸ“¦ Port of tauri-bundler

?? Port of tauri-bundler You can now easily create installers for your Deno apps, thanks to the amazing work of Tauri ??

Marc EspΓ­n 28 Dec 7, 2022
Log defmt messages over the serial port.

defmt-serial A defmt target for logging over a serial port. Messages can e.g. be read using socat and passed through defmt-print, see example-artemis

Gaute Hope 10 Oct 5, 2022
This is a test to port C++'s ymfm and Rust's vgmplay to ESP32(Xtensa).

m5stack-chipstream This is a test to port C++'s ymfm and Rust's vgmplay to ESP32(Xtensa). Still slow and impractical, depending on the sound chip you

hiromasa 4 Feb 26, 2023
Port of the fantastic Iconoir Icon Pack to Rust embedded devices, with a focus on speed, usability, and completeness.

embedded-iconoir - Icons for every device, ever. What is embedded-iconor? embedded-iconoir is a library that allows you to use Iconoir on embedded dev

null 9 Mar 25, 2023