Jump to content
IGNORED

Want better midimaze support? Please help!


Recommended Posts

Right now MidiMaze support in #FujiNet is very basic. You have to manually set each participant's hostname in the following way:

 

* Player 1 enters player 2's host/ip

* Player 2 enters player 3's host/ip

* Player 4 enters player 4's host/ip

...

* Player 15 enters player 16's host/ip

* Player 16 enters player 1's host/ip

 

In short, the last player loops around to the first, forming a ring, just like in a real MIDI network.

 

Do you want this to be better? Then we'll all need to pitch in.

 

First, I need somebody interested in doing some firmware hacking to hack on the following ticket, which makes the midimaze mode disable itself when COMMAND pin gets tickled:

https://github.com/FujiNetWIFI/fujinet-platformio/issues/432

 

Secondly, I need somebody to write a simple server in python, or whatever they want, that:

 

* Accepts a connection

* Gives participant a number from 1 to 16

* when participant 1 sends a message back, it sends the destination IP of the next player, depending on slot given.

* accepts ping messages

* deletes a participant from the list when ping message not received after 60 seconds.

 

I will then write the third piece, which talks to the server piece, sends the pings, and sets the destination IP appropriately.

 

How's that sound?

-Thom

 

Edited by tschak909
  • Like 1
Link to comment
Share on other sites

Wow. No replies to your request for help. I wish I could, but I'm not a programmer yet at this time, still learning basics of BASIC and Assembly. I'd be happy to help with any testing if anyone does step up.

Link to comment
Share on other sites

  • 2 years later...

Finally got some time to make a very simple MIDIMaze server.

 

https://github.com/FujiNetWIFI/servers/tree/main/midimaze

 

Basic instructions are in the README. This currently requires a custom firmware build to support it. I've only tested with 2 atari's here both on the local network and with the server running on fujinet.online. No need to do any port forwarding for the clients as the server routes all the packets, only the server needs the port open. If anyone is interested in testing sometime let me know. Would be best if you can join the FujiNet Discord so we can coordinate the game. I can create a firmware build to share if you can't build it and I'll run the server on fujinet.online.

Link to comment
Share on other sites

@mozzwald - This is great news! I was just testing Fujinet’s MIDIMaze capability today. This server sounds like an easier solution. Unfortunately, when we tried it today, we could only get the MIDIMaze connection to work one time. Every other time, both of our machines (me in CA, him in IL) would show as “slave” machines. 
 

Bob C

Link to comment
Share on other sites

12 hours ago, darwinmac said:

This server sounds like an easier solution. Unfortunately, when we tried it today, we could only get the MIDIMaze connection to work one time. Every other time, both of our machines (me in CA, him in IL) would show as “slave” machines. 

I'm not 100% sure what causes this to happen. This happened to me the other day when testing before I even started working on the server. It's important to follow the steps I've outlined in the README for the server when setting up the connection even if not using the server. MIDIMaze does attempt to read from D1 when it starts (probably to load a handler) and if you start udpstream mode before you load MIDIMaze, it will break the connection since the command line gets triggered. When testing with the server this did not happen to me although it would occasionally drop out of the game with I/O Timeout error. Starting a new game without setting up the connection again worked great though, just choose MIDIMATE from the menu again and it starts right up

 

Link to comment
Share on other sites

Attached is a build of firmware with the server mode builtin. Right now, it's hard coded to send "REGISTER" when initiating the udpstream which registers the fujinet with the server. The server and udpstream changes are also is working with the Atari Lynx Fujinet over the comlynx connection, bonus! 

 

fujinet-ATARI-0.5.eaaa6713-MM-SERV.zip

 

I have been trying to track down what is causing the timeout errors. The game seems to be playing perfectly fine then it stops. It doesn't seem to matter if the game is run over the local network or with the server far away on the internet. The problem is the last packet that causes failure takes too long (~800ms every time) to get to the Atari. I'm not sure if that's due to the network, the server code or the firmware (part of me thinks it's the firmware/esp32, but I dunno why or where to look). It seems fishy to me that the time b/w packets is roughly the same every time. Below is an snippet of the failure. data appears to be coming across fine and then it pauses. I tried adding some code to send a 0 packet to the Atari if we haven't received a packet within 350ms but that failed miserably and the game wouldn't even start due to the fujinet spamming 0's to the bus. I couldn't figure out how to logically handle that in the firmware. If anyone has ideas, would be appreciated. I've also attached trace logs that can be opened with Pulseview to see an entire game play.

image.thumb.png.79d74aac7fc035b15f416ea9001b98ac.png 

midimaze-server-captures.zip

  • Like 1
Link to comment
Share on other sites

I tried this firmware with @fujiman today. We were able to connect, but we had very frequent timeout errors. I’m hoping the cause of the errors can be found since it would be great to play MIDIMaze over the Internet with a friend or two. 
 

Since I’m not a developer, I’m not sure if there’s anything I could do to help find the problem. 
 

Bob C

Link to comment
Share on other sites

I tried this firmware with @fuji-man today. We were able to connect, but we had very frequent timeout errors. I’m hoping the cause of the errors can be found since it would be great to play MIDIMaze over the Internet with a friend or two. 
 

Since I’m not a developer, I’m not sure if there’s anything I could do to help find the problem. 
 

Bob C

Link to comment
Share on other sites

I don’t know since I haven’t had any other timeouts with Fujinet. If Mozzwald had any idea how I can help, I’ll do what I can. Overall, Fujinet has been very stable for me. My ATX problem was resolved when I switched my SD card to 8GB from 16GB. 
 

I’d love to see MIDIMaze work over the Internet, but I’m aware this game wasn’t designed to do this so I’m very patient to see if it can be fixed. I don’t consider this core functionality. It’d be fun if it’s fixed, but the device is great without this. 
 

Bob C

Link to comment
Share on other sites

5 hours ago, darwinmac said:

Since I’m not a developer, I’m not sure if there’s anything I could do to help find the problem. 
 

Bob C

Unfortunately, I'm not a programmer either, but I'd be happy to help with testing. At a convention, I am always ready for a game of MidiMaze. 🙂
Normally we play via MidiMate. We have also tried it some time ago with FujiNet and a local wifi.

 

(As long as I'm home at game time; I'm based in Cologne / Germany.)

 

Edited by Sleepy
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...