tschak909 Posted February 3, 2021 Share Posted February 3, 2021 (edited) 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 February 3, 2021 by tschak909 1 Quote Link to comment Share on other sites More sharing options...
Gunstar Posted February 8, 2021 Share Posted February 8, 2021 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. Quote Link to comment Share on other sites More sharing options...
mozzwald Posted February 8, 2021 Share Posted February 8, 2021 The issue in firmware to break out of MIDIMaze is fixed in this commit. Now we just need the server side stuff. I think there's someone in the discord chat working on a python server. 5 Quote Link to comment Share on other sites More sharing options...
mozzwald Posted April 13, 2023 Share Posted April 13, 2023 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. Quote Link to comment Share on other sites More sharing options...
darwinmac Posted April 13, 2023 Share Posted April 13, 2023 @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 Quote Link to comment Share on other sites More sharing options...
mozzwald Posted April 13, 2023 Share Posted April 13, 2023 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 Quote Link to comment Share on other sites More sharing options...
darwinmac Posted April 13, 2023 Share Posted April 13, 2023 @mozzwald - I’ll look at the README. We did follow the instructions shown on the wiki page. It’s weird that it worked once for us. If it had never worked, I would’ve assumed a networking problem or not following the instructions. Bob C Quote Link to comment Share on other sites More sharing options...
mozzwald Posted April 18, 2023 Share Posted April 18, 2023 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. midimaze-server-captures.zip 1 Quote Link to comment Share on other sites More sharing options...
darwinmac Posted April 19, 2023 Share Posted April 19, 2023 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 Quote Link to comment Share on other sites More sharing options...
darwinmac Posted April 19, 2023 Share Posted April 19, 2023 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 Quote Link to comment Share on other sites More sharing options...
_The Doctor__ Posted April 20, 2023 Share Posted April 20, 2023 Quote Who knows maybe solving this will solve the disk time out and disappearing act as well Quote Link to comment Share on other sites More sharing options...
darwinmac Posted April 20, 2023 Share Posted April 20, 2023 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 Quote Link to comment Share on other sites More sharing options...
Sleepy Posted April 20, 2023 Share Posted April 20, 2023 (edited) 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 April 20, 2023 by Sleepy Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.