Researching the transmission of data through an audio cable. 🎀

Is it possible to use separate audio channels for Playdate Simulator?

Such as simulating the system speaker versus the headphone jack.

Cause my method needs sound to not only play out of the headphone jack but out the speaker so the game actively has audio still.

1 Like

"This function has no effect in the Simulator."

Oh. Welp, I need to wait to get my unit in order to test further.
That also means I need more than two.

I have a unit if you would like me to test some stuff for you!

2 Likes

I appreciate the offer, however there is a lot of things to know how this works.

  • You would need two Playdates to test the connection.
  • You also need special audio cables to make the connection possible, without damaging the headphone jack.

Which you can find all here on Amazon.
3.5mm Male to Dual Female Headphone Mic Splitter Cable
Headphone Extension Cable

The setup basically swaps the audio output to the other playdates microphone creating a method of a "link cable".

My situation right now is I want to test the audio output from BOTH the system speakers while also sending audio through the headphone jack.
Kinda like when you have a headphone jack in a Nintendo DSi and you take a photo, the systems speaker makes a "snap" noise really loudly.
I also have talked to someone here about that it is "possible" but I want to test it myself.
Or unless someone can for me cause this process will take a really long time to finalize.

Theres also the possible chance I can make my own headphone jack cable like this for the Playdate that matches the whole aesthetic with a purple and yellow striped coil wire and also clips onto the bottom of the Playdate. Eee.
But so far, I have no idea what Panic has in store for multiplayer on Playdate.
I maybe the only one who is crazy enough to think about it as the selling point for me.
I also am unexperienced at coding in Lua so take anything I make currently with a grain of salt. The Playdate will chug my code.

1 Like

Alright, sounds good. Good luck with this nonetheless, I’m excited to see where this will go!

1 Like

That is really exciting.

Maybe you can take a look at the developer map to search if there is someone near you with a Playdate:

Or you can try to start by Playdate to Computer communication and make the computer play out loud the sound sent by the Playdate (when you will have yours).

This is a really cool project. I love the idea of the little handhelds bringing people together via two-player games. I've thought about doing something turn-based, so that lag is not as much of an issue.

It's kind of niche, but two-player games do kinda play into the name of the device, which implies setting a date to play with someone

I will have access to two devices within a couple months i think. Would love to test these ideas and help contribute to the code base when they arrive if you're open to collabs

1 Like

I am so down for strategy board games on Playdate. That one (spoiler) game on Playdate is so fascinating!
It makes me wish there was a way to create local play with games like it!
Makes use of player customizability, board pawns, deck of cards, anything!
Playing with friends is the greatest feeling a videogame can bring cause anyone can have a different experience with another person.

I will still need to experiment and see methods on how to beep sounds the Playdate can record without much delay.

I may need to take a look at how the microphone handles volume and determining length. Maybe possibly volume difference for more snappier data transfer?

yeah if u can detect volume input and control output really precisely, i dont see why volume couldn't just be another dimension which could hold a meaningful data point. good idea, egg. notes too.

maybe we write midi files that represent a state of the game, and that could be transferred via audio coming from of a synth. idk but sounds fun to investigate

1 Like

You could speed this up by using an approach similar to barcode checksums. To oversimplify; carrying out a fixed mathematical operation on all but the last digit in the code produces the final digit, the receiving system can carry out this operation on the data it receives and knows whether it's valid without any need to check back with the sending system. Instead of an "okay, I got it" code being sent back after every message you'd only need a "hang on, I didn't get that" which should happen less often :smiley:

2 Likes

Excellent idea, I will keep this in mind while developing the code for it.

I was simply having a nice nap until my stupid squishy brain was like...

"Hey, do you think the Playdate can ignore the volume of the OS and blast 100% volume of sound into the headphone jack output while keeping the system speaker the same as the set OS volume level?"

At first, I ignored it.
But then like a few minutes later, my eyes bursted open and ran to my phone to type this.
Is it possible?

Just recently I discovered something fascinating about the TurboGrafx 16/PC Engine. It can use an audio cable to play a match of Bomberman on. I am not sure how but I will be looking into how this can also be applied to the Playdate.

Link to RifeXD's video - Youtube Link

2 Likes

That's sick!

Are you familiar with Clash Cards on the Playdate? I could totally see using audio to pass back and forth information to make a two-player version of a turn-based game like this.

Just going to leave this here:

6 Likes

Ooo, interesting.
Its sorta slow and I am not too sure about having Playdates this close to one another in a match of a game for extended periods of time. It could work almost like a StreetPass clone maybe.

It works up to 3 feet away, or more depending on encoding. I wondered if anyone would say that. This method also works in a wired fashion.

Re: speed:
Yeah doing DSP in Lua isn’t great. Doing it in C + using C for mic output allows for real-time DSP.

3 Likes

here is my toy frequency detector:

4 Likes

Alright so I am currently making the first ever prototype to test what the Playdate can do in terms of making the first link cable / audio jack co op game.

Only one problem, I am not sure how to check the sample of the sound pitch for audio streaming. Determining the status of both machines.

Currently this is all I have planned right now.

I will be using a audio jack with my audio jack setup with another playdate.
Which will do the following above and then below.

They will ping each other the data
one device will have "ABCD"
send it to P2
and P2 will reply back "ABCD"
P1 will say "TRUE"
or if P2 says "BBCD"
P1 will say "FALSE" "START"
P2 "READY"
P1 "ABCD"
P2 "BBCD"
P1 "FALSE" "START"
etc until it gets it right.
right now both devices haven't been disconnected just having issues communicating.

The START tone is extremely useful for starting over a failed transmission.

I have no experience with C code and currently no progress has been made due to my ability to experiment with detecting any sort of communication.
There is the documentation about getting the pitch and processing it but I have no idea how to code such a thing.
I am more used to coding in Lua.
I do need help having a engine that can fulfill my needs at sending data, processing audio data without performance hiccups.

Hey, you're dangerously close to making the first Playdate guitar tuner!

Love the developments by the way. Excited to see where this goes. I could see making a two-player game which only needs to update periodically and slow updates could work.