rust-console / gba

A crate that helps you make GBA games
https://docs.rs/gba
Apache License 2.0
652 stars 50 forks source link

Add support for MultiPlay communcation #165

Open TheHans255 opened 2 years ago

TheHans255 commented 2 years ago

I recently did an experiment/proof-of-concept where I send multiboot payloads from a host GBA to clients using the MultiPlay transfer protocol: https://github.com/TheHans255/rust-gba-multiboot-test. I'd like to add the necessary changes for supporting MultiPlay communication to this crate.

This would amount to:

  1. Adding bindings for the SIOMLT_SEND and SIOMULTI0 thru SIOMULTI3 registers.
  2. Adding basic methods for starting MultiPlay mode and starting/performing a single unit of transfer
Lokathor commented 2 years ago

I would be happy to have it as part of the crate.

Unfortunately the crate has gotten into a bit of a stuck state where further progress would require breaking changes to the assembly runtime stuff to get up to date with global_asm and such, so the crate hasn't seen anything new in a while.

However, that shouldn't prevent examples from being added. And then when some day a 0.6 version is completed, the examples can have whatever small adjustments applied. And even before them, people can use them as reference code.

TheHans255 commented 2 years ago

Cool cool. Do we have the required breaking changes documented? I'd be happy to help with them.

Lokathor commented 2 years ago

There's not a specific list... I've started an attempt at a redo more than once but gotten distracted each time.

I've got nothing else pressing, I'll try to give gba a fresh look. Just rip the bandaid off and do something, even if it's a little imperfect.

Lymia commented 2 years ago

I'm still around and interested in the project, if I can be of any help. agb has different design goals that aren't well aligned to my use case (a rom hack), and it'd a lot of additional features to be usable to me.

Lokathor commented 2 years ago

Alright sure, if there's interested folks I'll try to start at least something later today.

Sp00ph commented 2 years ago

I'm also still here, and while I may not be able to contribute that much, I'm definitely still interested in the project and would love to play around with it a bit when it gets more stable.

pmdevita commented 2 years ago

I'm still a bit new to Rust but I'd be interested in helping out