Jump to content
IGNORED

My homemade 5200 controller


smbaker

Recommended Posts

This is a dumb question, but Scott's BOM in the blog entry doesn't include sockets; what's the DIP pin spacing on U$2 (the digital pot) and U3 (the ATtiny)? The DIP8 and DIP14 sockets I keep finding online seem too large.

 

Thanks! :)

 

Standard 0.300" width sockets should work. In the future, I'll try to include these in the BOM -- they totally slipped my mind as I typically buy sockets in quantity from China ebay sellers.

 

The only place I typically see the wider ones are 24-pin ICs and greater, where you do occasionally run into parts that are available in both size.

 

Scott

Link to comment
Share on other sites

 

Standard 0.300" width sockets should work. In the future, I'll try to include these in the BOM -- they totally slipped my mind as I typically buy sockets in quantity from China ebay sellers.

 

The only place I typically see the wider ones are 24-pin ICs and greater, where you do occasionally run into parts that are available in both size.

 

Scott

 

Thanks, Scott. I'm just not used to working with such tiny sockets (and this is despite building one of Mytek's glorious 1088XEL boards last winter!)

 

Anyway, sockets and DB15 cables ordered. Still gotta pick up a programmer for the ATtiny85's, but that will wait until I build up both boards. I don't really "need" something as powerful and flexible as a TL866, but I'll probably buy one next week anyway. :)

Link to comment
Share on other sites

I think since Scott designed in the ICSP header on the current (v0.9) board revision, I can buy and use this:

 

https://www.amazon.com/Sparkfun-Electronics-LYSB01BHHH714-ELECTRNCS-Pocket-Programmer/dp/B004G54E9I

 

I have limited experience with ATtiny chips (mostly just messing around with a fun Arduino kit I bought awhile back, and building an SDrive-Max unit as external floppy emulator for my A8 computers), so I'm not 100% sure. Anyone know if this will work?

Edited by DrVenkman
Link to comment
Share on other sites

The one I'm using is this one: https://www.ebay.com/itm/USB-AVR-Programmer-w-6-Pin-10-Pin-IDC-ISP-Connector-For-USBASP/382191022734

 

I actually bought two of them, so I had a spare, and it came in handy as I was able to use one to update the firmware on the other.

 

Scott

 

I saw those - they certainly look good and cheap! :D

 

Two questions:

 

1) Can I use it to program the ATtiny's in-circuit or do I need to wire up a ZIF socket or something to a breadboard? I've got all of that, but obviously being able to just program the thing sitting in its own socket would be even better; and

 

2) Do you know if I can use this under Win10? Or alternately, do you know if Ubuntu in VirtualBox will work if I give it access to the USB ports? (I already do this for a Linux version of software for my cheap-o chinesium USB oscilloscope). I suppose it would be too much to hope that the Arduino IDE would "just work" and let me flash the code, so I presume I'd have to do something under Linux instead.

Link to comment
Share on other sites

1) You should be able to, if it has the latest firmware. When I first tried mine, the software was complaining about not being able to set clock speed due to old firmware issues. I'm not sure if this was a problem* or not, as I updated the firmware before I programmed the ATTINYs. This was why having two of the programmers was handy.

 

2) I use Ubuntu 16.04 in VMWare, running on Windows 10, and attach the USB device to the VM. This works for me. I can't say whether it will work in Virtualbox or not, but I would think so.

 

* The reason it *might* be a problem is that the ATTINY by default comes with a fuse set that divides the clock by 8, and this was too slow to program using the default avrdude ICSP settings. Right now the Makefile is set to reduce the programming speed to compensate, and that's the part I'm not sure is supported by the original firmware.

 

Scott

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

Speaking of that, are any of these switches available with straight leads in the same footprint? I saw in one of the datasheet for one that it was available with in many different varieties including straight leads, but it didn’t have the same footprint.

 

I’m interested in using some of those Mill-Max pin receptacles to allow me to unplug the buttons and pot stick to switch sides on the controller. The formed leads may fit fine, I dunno. I read that some do fit/work in a solderless breadboard.

 

Edit: these

https://www.alliedelec.com/mill-max-0548-0-15-01-11-27-10-0/70249715/

 

They work great for DIPs and add almost no height...

d80333c4f9529a9f4545aedbefaaa3ea.jpg

Edited by CZroe
Link to comment
Share on other sites

Okay, hardware done. Programming to follow tomorrow or Monday.

 

post-30400-0-56630000-1538941192_thumb.jpg

 

post-30400-0-68790100-1538941203_thumb.jpg

 

Regarding the programming speed of the USBasp, it looks like there's a hardware jumper on the board to set the Slow mode, but it looks like most of the clone boards don't have that header populated. So I'll solder in a header tomorrow at least, even if I don't get to the programming itself.

  • Like 1
Link to comment
Share on other sites

I'm a big believer that more information is usually always better than less when you're doing something new for the first time, so here's my experience tonight my using a cheap USBasp programmer on my controller boards. :)

 

The one I bought, sold on eBay by the "Hiletgo" brand, I picked because the seller had Prime shipping. These are generally all very similar but can vary in some details, but for this one, the schematic on their product page says you can force the programmer to use "slow" speed, necessary for never-programmed ATtiny chips I gather, by installing a jumper at a bare location on the board labeled JP3.

 

 

So when I got home tonight I installed the 2-pin header in that location along with a jumper, fired up Ubuntu on VirtualBox (with access to my USB peripherals set to enabled in the VB control center), then installed "avrdude." I gather there are Windows binaries for this as well, but when I looked for binaries, I had a hell of time sorting out what was the current "official" release and whether it would work properly at all under Windows 10 (though I'm familiar with using Zadig to install a signed driver file so Win10 won't choke. Anyway, instead in Ubuntu I was able just "sudo apt get avrdude" or something close to that and done. Once that was done I queried the board with "avrdude -c usbasp -p t85". Avrdude recognized the chip but gave me an error about being "unable to set sck period" and telling me to update the USBasp firmware.

Now, there is a hell of a lot of contradictory info on the web about this error with USBasp programmers. Some say you can override it various command line options, others claim you have to install and use that speed jumper on the board (which I had done already), others said no, the speed jumper isn't even connected on cheap Chinese boards (which isn't true on this one - the traces go straight to the microcontroller on the board!), another faction claims it's necessary to update the USBasp firmware, while many others said the message is simply a warning and it's safe to ignore.

 

So, since I had the "Slow" jumper installed and connected, I just went ahead and wrote the fuse.hex file with "avrdude -c usbasp -p t85 -U:flash:w:fuse.hex" Well, waddaya know? Avrdude looked like it wrote the file, read it back and verified it as good, then closed without any error, just the same warning about the sck period. After that, I wrote the 5200controller.hex file to the chip the same way with the same results. Emboldened, I went ahead and did my second board too.

 

Once my cables arrive from Console5 (probably tomorrow), I'll fire up my 5200 and give them a try.

 

post-30400-0-94986200-1539039896_thumb.jpg

  • Like 2
Link to comment
Share on other sites

tl;dr: Huzzah! They work! :D

 

Now, for the wall of text for those who might want to build one of these, I've got a couple things to watch out for, and I'm going to try to detail a Windows workflow for using a USBasp, WINavr and the AVRDUDESS GUI to program your controller in-circuit.

 

So, when I got home tonight, my 15-pin cables had arrived from Console5! I immediately plugged one into one of my controllers and fired up PAC-MAN. To my dismay, our little yellow buddy wouldn't respond to my controller inputs, though Start obviously worked. Huh. I unplugged the controller, plugged it back in and tried again. Still no-go. So I tried my second unit and to my relief, it worked perfectly! So I went ahead and tried GALAXIAN. Same basic results: one unit worked great, the other nada. Then I tried MISSILE COMMAND. As expected, the working unit played fine (but as Scott notes in his YouTube video, self-centering thumbsticks are REALLY tough to use in this game! Thank goodness I have a CX-53 in excellent condition). The non-working unit did show something very interesting, however: the cursor appeared in the upper-left area of the screen. Not totally off-scale at top or left, but generally in that corner. When I moved the stick, the cursor did in fact respond, but it was bounded by a square area in the upper left part of the screen.

 

That reminded me of Scott's blog post where he reminds us that since the Sparkfun thumbsticks are only 10K, we use the digital pot to effectively multiply that by 10 to a 0K - 100K range, and then add capacitance to the circuit with the 0.22uF caps. Hmmm … So I took the non-working unit out to my bench, examined it under bright light and … didn't see anything at all obvious. But now that I had a hunch the issue might be with the caps, I decided to try re-flowing the solder for both of the .22uF caps. While I was doing this, I noticed something that's not entirely obvious: the vias on these boards are really pretty small, and it can look like you have a good solder joint when in fact, the solder is not making good contact with the relatively tiny pad of the vias. So I re-flowed the solder for all four vias (two for each of the .22uF caps) and then took the suspect unit inside and whaddaya know? Works like a champ! :)

 

However, once I got into the flow of a game of PAC-MAN I encountered two relatively minor general pitfalls with these thumbsticks and this controller. First off, it's very easy - too easy perhaps - to pop the "mushroom" off the stem of the thumbstick. You can pretty easily pop it back into place, but that really ruins the flow of the game. I think I'm going to end up super-gluing the cap onto the stem of both of mine. If I build another of these (if Scott continues to make and sell boards), I'll likely look into a stick like the one Shawn is using in his most recent pic. The second general issue is that the 15-pin connectors from Digikey have relatively short pins and shallow lips/shells. By contrast, the cables from Console5 have a pretty large connector end with deep female sockets. As a result, a very small movement of the cable end at the connector can render the controller unusable until you push the cable back into place. If I make another of these, I'll give serious consideration to soldering the cable wires straight to the board, as much of a PITA as that can be. In the meantime, if anyone has some workaround for this I'm all ears. For now, no joke, I'll probably end up taping each cable/connector together with blue painters tape or something.

 

Anyway, these are all very minor issues compared to the crap-tastic experience of using stock controllers with the system. All in all, this controller is still a 500% improvement over the stock sticks for nearly every game except a handful (CENTIPEDE, MISSILE COMMAND …). I'm incredibly grateful to Scott for designing this thing and having the opportunity to make my 5200 more playable. :)

 

Now, for those who might build one or two of these and want to know how to program it cheaply using a USBasp as shown in yesterday's post, but wants to do it in Windows, here's how. This procedure presumes you're using a USBasp 2.0 design similar or identical to the one shown in my prior post. I do *NOT* know if it's absolutely required to install that SLOW speed jumper and use it. I might try re-programming one of my boards later tonight or tomorrow without it, but know that I did do that to mine. So now, on to the how-to:

 

1. Download WinAVR and install it. Pick an installation location on your drive and say yes to the defaults, especially adding the Windows environment variables. Basically, this lets you use avdrude from the Windows command line or PowerShell, just like you would in a Linux terminal. You may use a GUI (see additional steps), but if you later want to just run the program directly from a C: prompt, you'll be able to.

 

2. Download and install AVRDUDESS, a GUI front-end for WinAVR. A friend of mine in real-life suggested I look into this. A quick Google led me to a post on the Adafruit blog about it and a link to the creator's page for it.

 

3. Download a zip file of Scott's code for the project and save it in a convenient location. I used my Desktop. Unzip/expand it. Fortunately, there is no need to compile this code yourself. Scott's project files already contains both fuse.hex and 5200controller.hex necessary to program the chip in your controller.

 

Now you've got all the tools necessary to program your controller, but we've also got to ensure your USBasp will work properly under Windows. Most versions of Windows these days require digitally-signed drivers to reduce the risk of viruses, malware and other bad actors from easily injecting crap into your system via random internet downloads. Fortunately, there's a workaround for this too.

 

4. Download and install Zadig, an open-source utility that will create a signed Windows driver file for a number of USB peripherals with otherwise-unsigned drivers, or no driver at all.

 

5. Plug your USBasb into your computer, then run Zadig. It will recognize your device and tell you there is no installed Windows driver, but a second box to the right of that one will offer to install a driver for you. There are actually several different types of open-source signed driver files you can try, but the USBasp 2.0 design (at least mine!) absolutely requires that it be the correct one. Click the little up- or down-arrows on the right-side driver selection box until you select libusbK, then click the large driver Install button below. There will be a short pause (and it may appear for a second or two as if your click was not registered), but then you'll see Zadig working and it will complete and tell you a driver has been installed. After that, if you open up the Windows Device Manager, you should see the USBasp device listed.

 

6. Now, finally, plug your USBasp cable into the ICSP header of your controller and launch AVRDUDESS. You will see options at the top to select a programmer and an MCU. From the first dropdown, select USBasp, and from the second, select ATtiny85. There are a bunch of options for each of these, so take your time and make sure you select the correct ones.

 

7. Now open up the folder of Scott's code on your computer, and drag-and-drop the file fuse.hex into the "Flash" text entry box in AVRDUDESS. Alternately, you can click the ellipsis (…) button and navigate to the fuse.hex file that way.

 

8. Click the Program! button. You'll see the progress in the text area at the bottom of the AVRDUDESS window. After a second or two, you should see a success message in the window. It's a very small file and won't take long.

 

9. Repeat steps 7 and 8 with the 5200controller.hex file. Again, this is a very small file and programming should be very quick.

 

10. Unplug your controller.

 

11. PROFIT! :) Well, at least enjoy some excellent 5200 gaming goodness.

 

Thanks, Scott!

 

post-30400-0-37618200-1539129064_thumb.jpg

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

N

 

tl;dr: Huzzah! They work! :D

:

 

1. Download WinAVR and install it. Pick an installation location on your drive and say yes to the defaults, especially adding the Windows environment variables. Basically, this lets you use avdrude from the Windows command line or PowerShell, just like you would in a Linux terminal. You may use a GUI (see additional steps), but if you later want to just run the program directly from a C: prompt, you'll be able to.

 

2. Download and install AVRDUDESS, a GUI front-end for WinAVR. A friend of mine in real-life suggested I look into this. A quick Google led me to a post on the Adafruit blog about it and a link to the creator's page for it.

 

3. Download a zip file of Scott's code for the project and save it in a convenient location. I used my Desktop. Unzip/expand it. Fortunately, there is no need to compile this code yourself. Scott's project files already contains both fuse.hex and 5200controller.hex necessary to program the chip in your controller.

 

Now you've got all the tools necessary to program your controller, but we've also got to ensure your USBasp will work properly under Windows. Most versions of Windows these days require digitally-signed drivers to reduce the risk of viruses, malware and other bad actors from easily injecting crap into your system via random internet downloads. Fortunately, there's a workaround for this too.

 

4. Download and install Zadig, an open-source utility that will create a signed Windows driver file for a number of USB peripherals with otherwise-unsigned drivers, or no driver at all.

 

5. Plug your USBasb into your computer, then run Zadig. It will recognize your device and tell you there is no installed Windows driver, but a second box to the right of that one will offer to install a driver for you. There are actually several different types of open-source signed driver files you can try, but the USBasp 2.0 design (at least mine!) absolutely requires that it be the correct one. Click the little up- or down-arrows on the right-side driver selection box until you select libusbK, then click the large driver Install button below. There will be a short pause (and it may appear for a second or two as if your click was not registered), but then you'll see Zadig working and it will complete and tell you a driver has been installed. After that, if you open up the Windows Device Manager, you should see the USBasp device listed.

 

6. Now, finally, plug your USBasp cable into the ICSP header of your controller and launch AVRDUDESS. You will see options at the top to select a programmer and an MCU. From the first dropdown, select USBasp, and from the second, select ATtiny85. There are a bunch of options for each of these, so take your time and make sure you select the correct ones.

 

7. Now open up the folder of Scott's code on your computer, and drag-and-drop the file fuse.hex into the "Flash" text entry box in AVRDUDESS. Alternately, you can click the ellipsis (…) button and navigate to the fuse.hex file that way.

 

8. Click the Program! button. You'll see the progress in the text area at the bottom of the AVRDUDESS window. After a second or two, you should see a success message in the window. It's a very small file and won't take long.

 

9. Repeat steps 7 and 8 with the 5200controller.hex file. Again, this is a very small file and programming should be very quick.

 

10. Unplug your controller.

 

11. PROFIT! :) Well, at least enjoy some excellent 5200 gaming goodness.

 

Thanks, Scott!

 

Very nice! Hopefully, someone does something like this for the adapter, which uses a more oddball micro-controller, according to Scott..

Link to comment
Share on other sites

The thumbstick caps are normally kept on with the controller shell. They literally can’t pop off because the hole in the controller shell is not wide enough. That problem will be solved if we can get a shell made.

Edited by CZroe
Link to comment
Share on other sites

The thumbstick caps are normally kept on with the controller shell. They literally can’t pop off because the hole in the controller shell is not wide enough. That problem will be solved if we can get a shell made.

 

Yeah, I know that. Until then, however, it's a risk/caveat of vigorous usage that's all.

 

Assuming someone with 3D modeling skills is interested in designing such a shell, the top will be interesting. Take a look at the side view of the PCB from the bottom edge looking up: the base of the stem is quite a bit higher than the keypad switches. So the top will have to basically mimic the grid of the button layout, and we will have to spec out some keycap buttons to allow the tactile switches to be pressed with the top in place. Such keycaps with the buttons can probably also be 3D-printed but it would definitely be more cost-effective if someone could find a commodity plastic button from Digikey, Mouser or someplace like that, then design the grid for the top to match. The stem of each keycap has to be long enough to reach the tactile button, and with a "lip" to prevent it from coming out with the case closed.

 

I have a (very, very*) smart friend who owns a 3D printing side-business. He made some shells for me when I built my SDrive-Max Arduino-powered floppy drive emulator for my A8 computers, He could probably come up with a shell design if he had the time or inclination, though I don't know if he's at all interested, and I wouldn't want to put it onto him to try to find appropriate keycaps the tactile buttons. Further, I have absolutely no idea how much he would charge to print a design like that anyway, even assuming he's interested in the project.

 

Ideally, a smart and enterprising 5200 enthusiast will step up to the plate, 3D printer in hand. Time will tell.

 

(*) My friend is a research professor who runs a lab at a very, very prestigious nationally-known university nearby. Dude is scary-smart.

Edited by DrVenkman
Link to comment
Share on other sites

@DrVenkman, thanks for the write-up, I think this will be really handy for others who want to build controllers. Regarding the connectors on the extension cables, I too had issues with them coming off and went with buying some replacement male connectors (crimp-style) from digikey, cut the ends off the extensions and replaced them. These stay on fine by themselves, and you could even screw them on if you wanted to. There's a quick comment about them in my Playstation-5200 video.

 

@Swami, I think the procedure for the Playstation-5200 adapter would be similar, using the usbasp programmer and avrdude. It's mainly the TL866 programmer that runs into some issues.

 

Scott

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

@DrVenkman, thanks for the write-up, I think this will be really handy for others who want to build controllers. Regarding the connectors on the extension cables, I too had issues with them coming off and went with buying some replacement male connectors (crimp-style) from digikey, cut the ends off the extensions and replaced them. These stay on fine by themselves, and you could even screw them on if you wanted to. There's a quick comment about them in my Playstation-5200 video.

 

@Swami, I think the procedure for the Playstation-5200 adapter would be similar, using the usbasp programmer and avrdude. It's mainly the TL866 programmer that runs into some issues.

 

Scott

 

If you have/get any more of these boards, I would take two.

Link to comment
Share on other sites

 

...

Assuming someone with 3D modeling skills is interested in designing such a shell, the top will be interesting.

...

If someone could sell me at least a loose kit (I could solder it myself), then I could try to create 3D case for it.

I'll release the design for free, maybe post it on Thingiverse.

Link to comment
Share on other sites

If someone could sell me at least a loose kit (I could solder it myself), then I could try to create 3D case for it.

I'll release the design for free, maybe post it on Thingiverse.

 

If you live in San Antonio, TX you can simply order "a loose kit" from digikey. You still need to program the attiny chip. Read through smbaker's webpage for the controller and this thread. someone mentioned digikey can do this for a price, but I have no information on that. You can get this information straight from smbaker's webpage if you read it, but I spent 5 minutes and did the work for you. You can save this as a CSV file and import it into a BOM at digikey. Or just spend the 5 minutes and type it into the digikey website yourself:

 

"Digi-Key Part Number","Customer Reference","Quantity"

"490-7533-1-ND","C1,C2 0.22uF Monolithic Ceramic Capacitor","2"

"399-4264-ND","C3,C4 0.1uF Monolithic Ceramic Capacitor","2"

"S2012EC-20-ND","JP1 2×2 header (cut to size)","1"

"S1012EC-40-ND","JP2, JP4","1"

"S9337-ND","SH1-SH5","5"

"MCP42100-I/P-ND","U$2 MCP42100","1"

"SW405-ND","U$1,U$6,U$22-U$27","2"

"SW891-ND","CAP1, CAP2 Cap for fire button","2"

"450-1649-ND","U$7-U$18 Tactile switch, white (qty 12)","12"

"450-1804-ND","U$19-U$21 Tactile switch, red (qty 3)","3"

"1568-1526-ND","U1,U2 Sparkfun thumbstick (only populate 1)","1"

"ATTINY85-20PU-ND","U3 ATTINY85 Microcontroller","1"

"AE10929-ND","X1 F-5200-CON Female DB15","1"

"A120347-ND","4 PIN PDIP IC SOCKET","1"

"A120348-ND","14 PIN PDIP IC SOCKET","1"

  • Like 2
Link to comment
Share on other sites

 

If you live in San Antonio, TX you can simply order "a loose kit" from digikey. You still need to program the attiny chip. Read through smbaker's webpage for the controller and this thread. someone mentioned digikey can do this for a price, but I have no information on that. You can get this information straight from smbaker's webpage if you read it, but I spent 5 minutes and did the work for you. You can save this as a CSV file and import it into a BOM at digikey. Or just spend the 5 minutes and type it into the digikey website yourself:

 

"Digi-Key Part Number","Customer Reference","Quantity"

"490-7533-1-ND","C1,C2 0.22uF Monolithic Ceramic Capacitor","2"

"399-4264-ND","C3,C4 0.1uF Monolithic Ceramic Capacitor","2"

"S2012EC-20-ND","JP1 2×2 header (cut to size)","1"

"S1012EC-40-ND","JP2, JP4","1"

"S9337-ND","SH1-SH5","5"

"MCP42100-I/P-ND","U$2 MCP42100","1"

"SW405-ND","U$1,U$6,U$22-U$27","2"

"SW891-ND","CAP1, CAP2 Cap for fire button","2"

"450-1649-ND","U$7-U$18 Tactile switch, white (qty 12)","12"

"450-1804-ND","U$19-U$21 Tactile switch, red (qty 3)","3"

"1568-1526-ND","U1,U2 Sparkfun thumbstick (only populate 1)","1"

"ATTINY85-20PU-ND","U3 ATTINY85 Microcontroller","1"

"AE10929-ND","X1 F-5200-CON Female DB15","1"

"A120347-ND","4 PIN PDIP IC SOCKET","1"

"A120348-ND","14 PIN PDIP IC SOCKET","1"

Let me try, I never ordered from Digikey before.

Link to comment
Share on other sites

Let me try, I never ordered from Digikey before.

 

It's not hard. The BOM has all the parts on it you need, less the two resistors and 4 capacitors (and sockets, unless you want to solder the ICs in place). The parts for two will come to about $25, per my order a few weeks ago. :)

Link to comment
Share on other sites

 

It's not hard. The BOM has all the parts on it you need, less the two resistors and 4 capacitors (and sockets, unless you want to solder the ICs in place). The parts for two will come to about $25, per my order a few weeks ago. :)

 

The BOM I posted was based on the parts table on the website and the initially offered version of the boards I built. I don't know what the updated board design looks like as I haven't seen it. The BOM I posted above has the 4 capacitors and IC sockets that I know of. But maybe the updated PCB uses more parts? Hopefully I don't lead anyone astray with the parts list I posted...

Link to comment
Share on other sites

 

The BOM I posted was based on the parts table on the website and the initially offered version of the boards I built. I don't know what the updated board design looks like as I haven't seen it. The BOM I posted above has the 4 capacitors and IC sockets that I know of. But maybe the updated PCB uses more parts? Hopefully I don't lead anyone astray with the parts list I posted...

 

Ah, I think Scott updated the BOM after I asked about the sockets. BTW, the ATtiny socket appears to be incorrect; it needs to be an 8-bin socket.

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