Jump to content
IGNORED

Jaguar VR & Missile Command 3D Source Code


BitJag

Recommended Posts

Has anyone here put any thought into using a modern device (i.e. occulus, vive, smartphone) as a replacement VR tracker/display for Missile Command 3D?

 

I haven't put much thought into it myself, but it seems that after you figure out how the inferred tracker is pinned through the serial port, you could create an interface with an modern accelerometer device (I am just focused on the movement at the moment). Then work on an interpreter that converts the accelerometer data into something the Jag/game is expecting. The "hard" part it seems would be figuring out what information the VR tracking device is sending to the Jaguar.

 

Getting the actual VR headset to test on is out of the question, but if the source code for the game was available it would sure beat sending random numbers through serial to see what happens on screen and in ram.

 

A few other questions I had that I can't easily find answers for at the moment:

 

Is there some kind of handshake code that happens between the game and the VR device? Or does the VR Tracker just start pouring in the data through serial?

 

I assume the Jaguar console isn't sending any data back to the VR tracker. Is this true?

 

How is the VR Tracker powered (not the helmet)? (separate power supply, through serial)

 

Are there any diagrams/sources for the VR Headset available?

 

 

 

Thanks for the replies. Please let me know if my head is in the clouds on this one.

Link to comment
Share on other sites

IIRC TXG was looking into using an Occulus Rift as a VR unit for the Jag although I can't remeber if that was specifically for Missile Command 3D or just in general. As I recall from briefly looking into the Rift has an external USB interface but is SPI internally so a PIC microcontroller could easily be used for serial and SPI data interfacing/conversion.

 

As for what the VR device is sending to the Jaguar, if it is following the protocols for the Head Tracker as specified in the Tech Ref document it would make sense to me that that controller port 2 is reading the position of the VR unit.

+5V is available from both the Serial port and the Controller ports and +9V is available from the Video port, depending on its voltage and current requirements it could be drawing its supply from any one or more of those sources it is connected to.

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

I don't have the docs around, but if I remember correctly the jaguar VR works like this:

 

The trackers reads the movement of the helmet with IR. The IR transmitters are on the side of the helmet.

The joyport stuff is still not very clear to me yet.

 

According to the Jaguar dev manual there is a mode for joypad/teampad/analog joy pad/rotary and HMD. The HMD read analog values when I am correct but not all Jaguars do have and ADC onboard.

So it would be a guess from me right now that the trackersbox you see does translate the HMD movement into joypad movement.

This would make sense, the only thing Missile command VR does is left/right/up/down to look around, there is a 120 degree view you need to switch it with a button.

 

Stephen was mistaken about the occulis Rift ;) but I got this small micocontroller with sensors that would let you create a HMD, but this DIY set has USB output. So code should be rewritten to translate it to joypad values.

Stephen done something like that in the past with an Analog joystick that converts to normal jagpad port so something like that should do it.

 

But the source of Missile Command VR should be nice, atleast it could clear things.

 

Maybe the owner of the blue helment can also post his info/experience here maybe I forgot something, I have seen the VR once many years ago.... maybe I missed something.

  • Like 1
Link to comment
Share on other sites

Thanks for the pics Zerosquare. I am going to try and find time to diagram the this for history's sake (couldn't find anything publicly available online), and start filling in the blanks with the info from Stephen Moss and TXG/MNX.

 

Based on what TXG/MNX said, it seems that all you need is a way to translate of the analog movement of your accelerometer to controller movement through the controller port. If this is true, then I was thinking about this way too hard.

 

You could have an intermediary box (small computer of some sort) that your controller and your VR display (occulus, vive, android phone) plug into, then come out of that box and plug right into the first player port, and have external power feeding into the intermediary box. You could turn "any" jag game into a VR game, sacrificing the stereoscopic 3D effect of course. In regards to the display, I am not sure where to even begin with that.

 

I assume the Jag VR is converting the RGB or composite signal to something interlaced or half resolution (somehow...) and then outputting that to the two LCD's in the helmet creating a stereoscopic 3D effect. Am I even close with that guess? :P

Link to comment
Share on other sites

Based on what TXG/MNX said, it seems that all you need is a way to translate of the analog movement of your accelerometer to controller movement through the controller port.

It's not that simple.

Accelerometers only measure accelerations, not absolute or even relative positions. On paper you could integrate the acceleration vector twice to get the relative position, but in practice measurement noise, limited resolution and range are problematic. And if your tracking is bad, your device is going to make people feel seasick. That's why VR helmets use IR trackers (even the Nintendo Wii remote uses one for navigation).

 

I assume the Jag VR is converting the RGB or composite signal to something interlaced or half resolution (somehow...) and then outputting that to the two LCD's in the helmet creating a stereoscopic 3D effect. Am I even close with that guess? :P

The JagVR isn't stereoscopic, you get the same picture for both eyes. The Jaguar already struggles with 3D, rendering two different 3D scenes would halve the framerate (and it's already pretty low). Edited by Zerosquare
  • Like 2
Link to comment
Share on other sites

It's not that simple.

Accelerometers only measure accelerations, not absolute or even relative positions. On paper you could integrate the acceleration vector twice to get the relative position, but in practice measurement noise, limited resolution and range are problematic. And if your tracking is bad, your device is going to make people feel seasick. That's why VR helmets use IR trackers (even the Nintendo Wii remote uses one for navigation).

 

The JagVR isn't stereoscopic, you get the same picture for both eyes. The Jaguar already struggles with 3D, rendering two different 3D scenes would halve the framerate (and it's already pretty low).

 

 

I was just having a conversation with another individual about tracking motion without a sensor, and they had a very similar answers. It makes sense, thank you for clarifying this for me Zerosquare.

 

Fortunately, no stereoscopic 3D trickery makes things easier on the display side of things. Thanks for the feedback gentlemen!

 

Before I dive into making a simple diagram, could someone second me on there being no simple diagram showing how a JagVR is connected to the console? It will be a fun project, I just don't want to double up on work that has already been done if I don't have to.

Link to comment
Share on other sites

  • 1 month later...

 

 

I was just having a conversation with another individual about tracking motion without a sensor, and they had a very similar answers. It makes sense, thank you for clarifying this for me Zerosquare.

 

Fortunately, no stereoscopic 3D trickery makes things easier on the display side of things. Thanks for the feedback gentlemen!

 

Before I dive into making a simple diagram, could someone second me on there being no simple diagram showing how a JagVR is connected to the console? It will be a fun project, I just don't want to double up on work that has already been done if I don't have to.

 

I'm a little late to this thread but I've got the diagram. Though you're right, there isn't enough detailed information about the JagVR and how it works, what makes it such a special piece of kit for its time and that it's not just some gimmicky VR headset trying to be pushed to market for a quick buck. People are always so quick to say the tech wasn't there or ready and that's easy to assume considering what actually was available and made it to market, but from the VR side of things, they really had it down. Sure, it wasn't stereoscopic and the resolution is low but for a true first generation consumer VR headset, it's amazing. The guys at Virtuality really knew there shit and then some. They took what technology available to them at the time and really pushed it as far as it could go!

 

Here's the diagram and instructions I received directly from Virtuality below. I'll post more detail into how it all works and the innards of the IR receivers, etc in a little while.

 

post-985-0-57955400-1478625044_thumb.jpg

post-985-0-96459500-1478625050_thumb.jpg

Edited by Clint Thompson
  • Like 8
Link to comment
Share on other sites

A few other questions I had that I can't easily find answers for at the moment:

 

Thanks for the replies. Please let me know if my head is in the clouds on this one.

 

Q: Is there some kind of handshake code that happens between the game and the VR device? Or does the VR Tracker just start pouring in the data through serial?

 

A: If you've ever held down the B button on your 2nd Jaguar controller while booting Missile Command, it simply will not proceed until you let go and will even pause the intro/game if you hold down B again. Bizarre and not sure why but there's that. When I had the unit and finally made a wonky but working video cable from the Jaguar to the Tracking Unit or Zip Trak, I got to experiment with their multiple chipset codes that came with it. At the time I had no idea that the VR unit would even work with the released version of Missile Command but thankfully the programmer left it in there because there was no reason for him to remove it - since the option to use the VR headset isn't available unless the unit is actually connected to the Jaguar and detected, no one would know. His response was that if a VR prototype was discovered in the future, unlikely, that had the right chipset in the tracking base, even more unlikely he said, then someone could still play it. I was fortunate enough to receive all 7 sets and it was the very last one (set 7) which works with the released version of Missile Command. Glenn was very kind in not only dumping all of the chipsets for me but also burning extras of the entire set so I would have backups.

 

I'm not sure if you can pull any information from it or if it would even be of any use to anyone without the prototype units, but I'm willing to share the dumped codes. I'm pretty sure I have already but not sure if they're online anyone freely available to investigate. For whatever reason, they wanted to prevent other companies or users from using their headset on just any device. I didn't understand at the time why it mattered but later learned it took them almost a year to get the math involved in tracking the head movement down so they had a lot invested in it. Even more so when you learn that Atari never paid them for their work.

 

Q: I assume the Jaguar console isn't sending any data back to the VR tracker. Is this true?

 

A: The unit uses a 15-pin cable from the Jaguar port to the tracker base. I didn't think that the Jaguar was sending any code to the tracking base to make it work and that it was the tracking unit sending an unlock code to the game program so that you could enable the tracking feature or use of headset. When powering both the Jaguar and VR on, the IR does not emit unless you have the correct code chipset in the tracking unit and of course, you have Missile Command loading. So from what I've gathered, it actually does send code to the tracking unit to enable the headset or IR and then after that, the feature to use the headset in the game is in the options menu as "Use Headset" - The only good news from that was that as long as you didn't power off the tracker base then you could in theory start another game that could utilize the headset but after you shut the unit off and power it back on again, it's basically asleep until re-activated with the correct code. I had a camcorder handy during all my thorough testing, which would obviously show you when the IR became active. Fascinating stuff. Still have the tape, I need an 8mm camcorder, not sure what remains.

 

Q: How is the VR Tracker powered (not the helmet)? (separate power supply, through serial)

 

A: I'm pretty sure the unit Ted used was just a regular or standard Jaguar power supply but that may also explain why the video was very dim on his headset, the red unit. Or the fact that the blue unit was a hi-res version, maybe it required more power which is why the power supply that came with mine was in a huge box. I think I've got pictures of it somewhere or they're online. It was written very explicitly to not use the Jaguar power supply on the headset tracking unit though. So the power supply powers the base tracker and the headset to my understanding. The headset is connected with the 25-pin parallel-like cable.

 

Q: Are there any diagrams/sources for the VR Headset available?

 

A: Outside of what I just shared, there are schematics to the sensor in the tracking base, which I think I gave to one of the Atari museums overseas or Curt ended up with it, I don't recall. I regret it now though because I should have had it digitized and scanned since it's never been online that I'm aware of. I'll post some more info and pictures of the unit and how it works to the best of my understanding.

Edited by Clint Thompson
  • Like 4
Link to comment
Share on other sites

Regarding the source code: From everyone I've spoken with, literally no source code is known to remain. Talking with the programmer of Missile Command Martin Brownlow, he said he didn't have anything, as it was programmed at Virtuality. I asked the CEO Jonathan and his response was that all the computers that would've had the source at the time have long been auctioned off when Virtuality split into four separate companies sometime between 1999-2001. It's almost certain that these computers were most likely wiped before leaving the facilities. The other people I spoke with that used to work for Virtuality were very disgruntled. The responses I got were snarky and rightfully so. Seeing as how Atari never paid Virtuality and they were banking on that entire project, it seems to have caused a lot of extremely talented people to lose their job and unfortunately forcing the company to sell and split.

 

You really must put yourself in their position at the time - having a big brand name company approach you to take on this project of creating a Virtual Reality device and tanking money into the R&D only to come out completely empty handed. Now seeing somewhat successful instances of VR take off in the consumer market, the pain probably deepens or remains because they were there first.

 

The good news is: I have a pre-release version of Missle Command VR without the headset requiring the tracker codes to enable or use a headset. I'm almost certain Marco also has this version that he's using for his headset, although I'm not sure why he just doesn't use the released version outside of the title differences. It wouldn't surprise me if this is floating around. I also have a dump of Missile Command from an Alpine board that doesn't work. I'm not sure if there's some way to add a header or tinker around with the dumped image to get it working or flashed otherwise to see which version it is, but it would be nice if someone who has some more experience to take that image and tinker with it to see what's going on or where it's hanging. From what I can tell, the Jaguar boots but doesn't do anything. It could be waiting for authentication code from the tracking base or maybe it's just completely corrupt and unusable. I have no idea and I don't have an Alpine, unfortunately.

 

post-985-0-29478800-1478706286_thumb.png

With the pre-release, not only are you able to test the headset without anything connected to the Jaguar for authentication, it also allows you to use the headset in gameplay, even though one isn't authenticated as required in the commercially released version of Missile Command. I imagine there is a way around this and hopefully one is discovered at some point in the future.

 

post-985-0-31783300-1478706383_thumb.jpg

Pre-release version sitting in clear cart and waiting for a nice new label.

 

Regarding the headset design files for both the headset molds and PCB: For many years, I had been in touch with a guy named Alan Scott from NMI who worked for the manufacturing facility where the prototypes were actually made for Virtuality. Apparently they had the remains and all the necessary files needed to re-create PCBs but the engineer at the time seemed overly busy and swamped - he's the only one I could ever get a response from. Several times he said he would get back with me only for many months and ultimately years to pass. Finally he responded that they eventually sold off their company as well and the new owners said that they have nothing from the old company that was based at a different location so most likely it was all purged, as I imagine happens with many customer files after a set period of time. I really tried to push and get him to budge, including offering compensation for his time but it just never happened in time.

 

How the headset works: as you'll see in the pictures below, the tracking unit or base has a high-speed 16-bit Zilog DSP chip used for quick math computations that is actually used to calculate your head movement in as real time as you can get (for such a chip) I suppose and Cypress chips which contain the VTRAK software written by Matt Wilkinson, which in part was used to prevent just anyone from connecting the headset or unit to any device. I'm unsure what the programmable array Lattice chips are for exactly but have the specs for both of those chips included in a zip file I'm working on making for anyone interested to go over. The rest is just audio and video chips/capacitors to push the image from the Jaguar and back into the Headset while also powering it. Suppose the Lattice chips could be used for the video side of things but someone else may know more or have the time to really look at what the chips are used for.

 

In short, the tracking base/unit does all the legwork for the IR movement and calculations, ultimately converting the movement into a simple analog X,Y coordinates like a trackball or mouse and sending that info to the Jaguar's 2nd port but may also explain why the ADC chip is required for use specifically with the base. Maybe it's not required at all and the base station also handles that issue. My guess is that if you can hook up a pair of 2600 joystick paddles and change the values of X,Y on the 2nd port of the Jaguar then you should technically be able to move the headset view around with a mouse. Even if you decide to not use a headset, it would be cool to be able to play the VR version really fast on the Jaguar and the way it was intended to be played with, even if just using a mouse.

 

The headset itself has two sets of IR sensors with 6-sensors in each eye (2-front, 1-top, 1-bottom, and 1 on each side) to coordinate exactly where your head could be based on and which sensors are received from the 3 IR emitted in what seems to be a triangular fashion. So with a total of 12-sensors to track your head movement and 3 being constantly emitted from the tracking base, calculated by the DSP chip and then converted into a simple X,Y that the Jaguar can just use on the fly proves how incredibly complex yet fascinating and advanced the Jaguar VR is all-around. They really put their brain work into making the most from infra red and DSP tech. Even to this day, the technology behind it all still fascinates me.

 

post-985-0-72638900-1478709162_thumb.png

post-985-0-38713500-1478709173_thumb.png

post-985-0-39543800-1478709181_thumb.png

post-985-0-11327700-1478709193_thumb.png

post-985-0-07732600-1478709203_thumb.png

 

Here's what the power supply looks like for the blue headset:

post-985-0-14377400-1478710353_thumb.jpg

 

Copies of the rubdown transfers used to place the Atari name and Jaguar logos on the Jaguar VR prototypes:

post-985-0-20775200-1478710425_thumb.jpg

 

Time warp scan of the unpopulated space joystick tracker PCB:

post-985-0-45858400-1478710486_thumb.jpg

 

Using modern VR headsets to play MCVR: The current best and most affordable option appears to be a PSVR - which is what I'm shooting to purchase later this month and have just been waiting for the PS4 Pro to come out since I'm not getting the base model. Even though the accelerometer may not be perfect for VR, it's still used in phones for VR applications and makes it very possible to still play Missile Command VR with an actual VR headset. There is an open source project that shows that you can connect the PSVR receiver USB to a computer without a PS4 and pull up javascript code that will show you the coordinates of the X,Y in real time. The trick could be simple enough in converting the data from USB to the 2nd Jaguar port so it can track your head movement based on those values. I do however believe it would be unlikely that the values would work as-is, though I could be wrong. Most likely, you would need a small piece of software to convert the data on the fly in real time on a computer to whatever the radius would be used on the Jaguar so it would play normally.

 

I don't have a K model Jaguar, only an M. I also do not have the PSVR yet. Lastly, I don't code. Regardless, I will attempt to find a way to connect the PSVR to the Jaguar with the unreleased version of MCVR to see if it'll track but I suppose before I even do that, someone could possibly rig together a mouse or trackball to work on the Jaguar and test out the virtual world that way before even attempting to go through so much trouble. It's not completely ruled out but maybe we'll all be able to play MC:VR soon enough the way it was actually intended to be played - on a real VR headset!

 

It seems very promising:

https://www.youtube.com/watch?v=TmsmyO7nm3A

 

If anyone has a flash cart, K model Jaguar and a trackball or 2600 paddles they don't mind modifying for the Jaguar to test this theory in VR mode, let me know.

Edited by Clint Thompson
  • Like 5
Link to comment
Share on other sites

 

If anyone has a flash cart, K model Jaguar and a trackball or 2600 paddles they don't mind modifying for the Jaguar to test this theory in VR mode, let me know.

 

The fact that somebody has a K model Jag does not mean they have one with an ADC, my K model does not have them. Only early production model K's are likely to have the ADC's fitted and not for reasons of Atari being tight fisted as most people want to believe, there are practical reasons for Atari wanting to move the ADC's from inside the Jag to inside the controllers and moving to a bank switching system for reading said controllers...

 

Primarily, it would permit Atari to cut down/standardise the number and type of different controller interface formats required.

 

Secondarily, it future proofed the controller interface as it would allow more controller types (particularly those with large data requirements) to be easily accommodated in the future without the need for redesigning the Jaguar hardware or software interfaces to do so.

Link to comment
Share on other sites

 

The fact that somebody has a K model Jag does not mean they have one with an ADC, my K model does not have them. Only early production model K's are likely to have the ADC's fitted and not for reasons of Atari being tight fisted as most people want to believe, there are practical reasons for Atari wanting to move the ADC's from inside the Jag to inside the controllers and moving to a bank switching system for reading said controllers...

 

Primarily, it would permit Atari to cut down/standardise the number and type of different controller interface formats required.

 

Secondarily, it future proofed the controller interface as it would allow more controller types (particularly those with large data requirements) to be easily accommodated in the future without the need for redesigning the Jaguar hardware or software interfaces to do so.

 

Good to point out. The chances of it having the ADC chip are much higher, as far as I know no M models have them.

Link to comment
Share on other sites

  • 2 weeks later...

Attached are the cypress romset pulls from the tracking units, documentation for the chipsets and some others misc. related items. I didn't include the Missile Command VR rom because it appears you can find that online currently.

 

For anyone who may be interested:

 

JagVRCypress.zip

 

post-985-0-76478100-1479784071_thumb.pngpost-985-0-15841600-1479784077_thumb.png

  • Like 4
Link to comment
Share on other sites

  • 2 months later...

I got to play with the Jaguar VR at the E3 95 show, was very cool.

 

As an IT guy for the last 30 years I can say that those old PCs should be kicking around someones garage. I know its not policy but a lot of times old PCs that the IT guy is told to throw out ends up in the trunk and taken home to fuck around with.

Its possible that many of these PCs are in the attic, garage, or workshop of old time IT guys and still have the files on them.

 

Anyway, thanks for this thread and good luck on your project.

  • Like 2
Link to comment
Share on other sites

  • 3 years later...
On 9/27/2016 at 9:55 PM, BitJag said:

Before I dive into making a simple diagram, could someone second me on there being no simple diagram showing how a JagVR is connected to the console? It will be a fun project, I just don't want to double up on work that has already been done if I don't have to.

Curious if you ever made any progress on this or what ultimately stopped you from pursuing it?

Edited by Clint Thompson
Link to comment
Share on other sites

21 hours ago, Clint Thompson said:

Curious if you ever made any progress on this or what ultimately stopped you from pursuing it?

Fell of my radar because of other interests to be blunt.  Thanks for reminding me of this thread though. Read through this thread and I had already forgotten most of what was talked about here.  It would still be nice to put together a more refined version of the layout drawing you provided along with a concise rundown of the information in this thread for anyone who might take on creating a method of using a modern device as a JagVR replacement.  Just compile everything to make it a bit more digestible.  I am interested in doing this, but I can't make it a priority at the moment.

  • Like 1
Link to comment
Share on other sites

On 8/29/2020 at 10:32 PM, BitJag said:

Fell of my radar because of other interests to be blunt.  Thanks for reminding me of this thread though. Read through this thread and I had already forgotten most of what was talked about here.  It would still be nice to put together a more refined version of the layout drawing you provided along with a concise rundown of the information in this thread for anyone who might take on creating a method of using a modern device as a JagVR replacement.  Just compile everything to make it a bit more digestible.  I am interested in doing this, but I can't make it a priority at the moment.

Thanks for clarifying ?

 

I have a ton of information to add eventually but turns out that the JagVR does not require the ADC at all (which now makes sense) as it's not sending out that type of data. I've also figured out how to unlock the USE VR HEADSET mode on the commercially released cart as well but will have to look back at my notes because that was back in March. Was working with someone else here on the forum to make a hardware translator that you would plug in-between PC and Jaguar to convert values in real time so that it's compatible with the Rift but got sidetracked with a million other things and this too fell to the wayside., especially with all the crazy shit going on in the world this year.

 

Now that I know how to unlock the released Missile Command (which I thought would be the hardest part) and that there's a potential hardware piece to use as an in-between (probably $40 custom built) the last major bit is writing the code (not me) and experimenting with the values until you get it right. I imagine the right person could probably tackle it under two weeks but since it takes me almost 2 years to accomplish anything, it's clearly, most likely, probably not going to be me lol.... but, I'm willing to help in any way I can when/if that person decides to come along.

 

What's interesting to note is that the Missile Command intro/title screen was going to move around with your headset movement as well (kind of like how you see done in today's games when the title loads), I hadn't learned about that until just recently. The guy who worked out the complex math routines for the headset calculations, Terry Rowley, had a lot of experience working with radar decades before and used to work at Marconi in England.

 

With that being said, once the values are figured out, it would be easy to implement in any new games moving forward but the likely chances of someone coming around and creating a 3D/VR title for the Jaguar is next to none.

  • Like 3
Link to comment
Share on other sites

14 hours ago, Clint Thompson said:

Thanks for clarifying ?

 

I have a ton of information to add eventually but turns out that the JagVR does not require the ADC at all (which now makes sense) as it's not sending out that type of data. I've also figured out how to unlock the USE VR HEADSET mode on the commercially released cart as well but will have to look back at my notes because that was back in March. Was working with someone else here on the forum to make a hardware translator that you would plug in-between PC and Jaguar to convert values in real time so that it's compatible with the Rift but got sidetracked with a million other things and this too fell to the wayside., especially with all the crazy shit going on in the world this year.

 

Now that I know how to unlock the released Missile Command (which I thought would be the hardest part) and that there's a potential hardware piece to use as an in-between (probably $40 custom built) the last major bit is writing the code (not me) and experimenting with the values until you get it right. I imagine the right person could probably tackle it under two weeks but since it takes me almost 2 years to accomplish anything, it's clearly, most likely, probably not going to be me lol.... but, I'm willing to help in any way I can when/if that person decides to come along.

 

What's interesting to note is that the Missile Command intro/title screen was going to move around with your headset movement as well (kind of like how you see done in today's games when the title loads), I hadn't learned about that until just recently. The guy who worked out the complex math routines for the headset calculations, Terry Rowley, had a lot of experience working with radar decades before and used to work at Marconi in England.

 

With that being said, once the values are figured out, it would be easy to implement in any new games moving forward but the likely chances of someone coming around and creating a 3D/VR title for the Jaguar is next to none.

Oh! So there's a cheat code to unlock VR in MC3D? Cool :)

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...