Skip to content

SF: Rust on Nintendo 64 #81

@parasyte

Description

@parasyte

I attended the Rust Bay Area meetup a few times in the past, and have watched some recordings online. Really good stuff, all around.

I want to propose a talk for a project I have been working on recently; using Rust to write games and applications on Nintendo 64 hardware!

The talk outline currently looks something like this:

  • Bootstrapping
    • no_std free-standing binaries targeting MIPS architecture
    • Writing a custom target triple
    • Writing a linker script
    • Writing a custom build tool as a cargo subcommand
  • Dependencies
    • Writing a small crate to configure the runtime environment (e.g. crt0)
    • Writing a library crate to handle hardware I/O (e.g. drivers) - here be unsafe
  • Hello world
    • Writing a basic binary crate that prints text to the screen
    • Adding simple animations
    • Adding sound and music
  • Live demo on a 22-year-old Nintendo 64!
  • TODO list and things to look forward to
    • No heap allocation :(
    • No threads :(
    • Very experimental/using unstable features

This is a project I have been working on for a little over a week. It shouldn't be unreasonable to condense the material into an hour presentation. I haven't actually announced the project anywhere, but it will all be open sourced (MIT), certainly by the time the talk is ready.

It isn't really a typical use case for Rust, but I believe it would be interesting for a few reasons; first because Rust hasn't targeted Nintendo 64 before (to my knowledge), and second because there are some details that can be challenging when bootstrapping a new target platform.

Thoughts, opinions?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions