Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SF: Rust on Nintendo 64 #81

Open
parasyte opened this issue Aug 2, 2018 · 1 comment
Open

SF: Rust on Nintendo 64 #81

parasyte opened this issue Aug 2, 2018 · 1 comment

Comments

@parasyte
Copy link

parasyte commented Aug 2, 2018

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?

@Chris--B
Copy link

Chris--B commented Jan 2, 2019

I just stumbled across this from Google and would be very interested in seeing this information as a talk or a blog post series. Has this outline become something concrete?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants