Posted: May 2nd, 2012 | Author: Gregg | Filed under: Tech | Tags: arcade, arcade cabinet, arcade machine, arcade machine project, cabinet, cap kit, dk, dkong, donkey kong, donkey kong arcade, fistfull of quarters, home arcade, king of kong, kong off, mame, restore, t-molding | No Comments »
Back in 2008 I was getting in to MAME arcade machines. I think I even have a few posts on this blog about the Dig Dug machine that I gutted and made into a MAME.
Seeing the film “The King of Kong – A fistfull of quarters” really solidified my want for a REAL Donkey Kong cabinet. One reason being that after I saw the movie I initially played on my MAME Dig Dug machine until I got to 21st place in the world back in 2008 at 184,000. So I happen to come across the machine on craigslist. A buddy of mine found it on the Janesville, WI craigslist site and sent me the link. The guy was asking $300 for a fair quality Donkey Kong cabinet. I got him to let it go for $280. The only problem was the red color no longer output to the monitor properly.

So I got it home and powered it up, and took the geekiest picture I could think of.

Here are some pics showing the general state that the machine was in, bad t-molding, chips, cigarette burns, etc.
I got the machine out to my garage and got to work. :)

Note the monitor chassis bolts.

And the blue-ness………Why Red??!?! That’s my favorite color.

The first order of business was installing the Cap kit. A cap kit is where you desolder and resolder in new capacitors on the monitor board. Over time the sweet goodness in the capacitors can dry out, leading to dull colors and even colors missing completely.
I was really worried about stopping my heard and being unable to start it up again, so I read this site many times on the precautions and used speaker wire with a clip to ground out the NODE (cathode or anode..I’m blank right now).

Bingo, now that I’m not dead (thank you friends) here is the removed monitor board:

A shot of the 4-board version of my DK board. This is the one where it says “Nintendo” on the main screen, not “Nintendo of America”. So I was able to use the ladder hack and never have a barrel land on me as long as my hand was at the top of the ladder. Unfortunately, twin galaxies does not recognize scores submitted using this board! So I need to find a 2-board version. TKG-03 is the current board.

So guess what? The cap-kit on the monitor did NOT fix my issue with the Red color not being displayed. I found this site: http://www.brasington.org/arcade/tech/dk/ which shows screens of each chip being disabled, so you can locate your problem. I had a bad 2J PROM chip, yaaaaay! So what did I do? I ordered a new PROM set to replace the bad one on my 4-board version, and also ordered a 2-board version that is recognized for setting official scores. So now I can sell my 4-board, because the 2-board is now in the cab and working great. The 4-board is fixed too!

Look at that! I beat my previous record on an official 2-board dedicated Donkey Kong cabinet!
Now to fix up the machine.
Here’s what I ordered:
-New white t-molding all ’round
-New overlays and instructions
-New coin sticker
-New joystick repair parts
-New buttons (stupid smokers)
-New plexy with art for the control panel
-New Side-art
-Donkey Kong Blue paint bucket
-Replacement LED backlight for marquee
I started out by sanding the crap out of the machine until it was smooth, then bondo on all of the imperfections. Most of the corners were pretty beat up so I had to use some shims and nail them in to make perfect corners.

Shot of the underside of the control panel.

Bondo…





All taped up and sanded.
I went with 3 coats of primer paint white, and 4 coats of Donkey Kong blue. Turned out AMAZING.

Here’s after all 7 coats:

Sand blasting the coin door and repainting made all the difference.



I had a blast.






The back looks soo much better without the chew marks. lol

All in all, I had a blast on this project, and LOVE playing this machine.
Final Pics:









I think it looks great in my (old dining room) Arcade. :)

Thanks for checking this out! Let me know if you have any questions.
-Gregg
Posted: May 1st, 2012 | Author: Gregg | Filed under: Asterisk VoIP, Tech | Tags: asterisk dahdi paging, asterisk fxo paging, Asterisk VoIP, asterisk zap paging, dahdi, freepbx, fxo, fxo page, page, paging, paging group, zap | No Comments »
This is fairly specific, but I didn’t find any posts out there to help me.
If you are using an older Freepbx with Asterisk 1.4 or 1.6 and you want to include a ZAP or DAHDI channel in a paging group, but it never rings the FXS channel, then you need to examine the dialplan.
I noticed that when it reached this point (- Executing [PAGE203@ext-paging:2] ChanIsAvail), it would hangup.
After tinkering I realized that it was checking on ZAP/4 (my channel in this case).
To fix:
-Go to the extension in Freepbx, and under the “Dial: ” options for that extension, change it from ZAP/4 to DAHDI/4.
Apply and now when you see it doing the Chanisavailable check it will pass and should call your FXS line.
Posted: March 26th, 2011 | Author: Gregg | Filed under: Tech | Tags: 5620p, alienware, alienware 5620p, alienware area 51-m cmos, alienware hard drive, alienware laptop cmos, area 51-m, cmos, cmos battery, hard drive, hd | No Comments »
I received my first “fast” computer in 2002 as a high school graduation gift. It was amazing for about 3 years.
The Alienware Area 51-m 5620P was an amazing laptop when it came out in 2002.
-2.4GHz P4
-512MB PC2100 DDR
-40GB 5400 RPM hard drive
-Dual batteries
-ATI Mobility Radeon 7500 64MB
I could really Pwn on Counterstrike with this thing. 
I hate to let this machine go to waste after 9 years, so I decided to bring it back to life.
Current problems:
-CMOS battery is bad as of about 5 years ago. This means every time it boots, the BIOS is reset, Date, boot settings = annoying.
-CD/DVD Drive no longer reads any media
-Battery no longer holds a charge
-512MB ram =
…We need at least a gig now
-Power brick is melted from the sheathing wearing away. Almost started a fire.
-No wireless built-in. Definitely need a PCMCIA wireless card.
I ordered:
-Refurbished CD/DVD Drive
-New OEM Battery
-1 GB PC 2100 RAM (512×2)
-New power brick
-802.11g 54mbps PCMCIA Wireless Card
I got the memory from newegg.com for $50, and the rest on Amazon for less than $200.
CMOS BATTERY
I looked around and there aren’t any good guides to show where the CMOS battery is in this thing. I took apart the laptop about 80% of the way to figure everything out.
I had taken it apart about 5 years ago to add artic silver and reseat the heatsink.
If you turn it upside-down, you will see the four compartments. Take out the bottom right one (battery). It should slide out to reveal an adhesive cover.
Peel away the cover, and you have a neatly-wrapped CMOS battery. You can find a cheap replacement at Walgreens are almost anywhere else.
While I had it apart, I snapped a few pics to save other people time:
I should have the rest of the parts by next week. But this post wasn’t about the end-result, it was about saving other people time if they are pulling their hair out trying to locate the CMOS battery, HD, memory, or anything else.
Posted: March 18th, 2011 | Author: Gregg | Filed under: Linux, Tech | Tags: asus, backup, bash, cron, Linux, polarcloud, router, script, tomato, tomato cron backup, tomato router backup | 2 Comments »
I recently was given the task to automate the backups of several remote routers that we manage that run tomato firmware.
Here is the Tomato developer’s site: www.polarcloud.com/tomato
The main goals were:
- To use https
- To be automated (Cron)’d later
- To scale from 1 to 1XXX routers
I tested it on Tomato Firmware 1.28 using my ASUS RT-N16 router, but it should work for any Tomato-firmware router.
There will be some slight modifications to run in cron, but let me know and I’ll be glad to help.
Download the .zip file here: tomatobackup1405
Extract the file so the full path will be /root/tomatobackup1405
Read the README inside the folder
chmod +x tomatobackup1405.sh
Add your hosts to the tomatobackup1405_hosts.cfg file
Run it!
If successful, you will see a subfolder with the date YYYYMMDD and the file with CoName-tomato_v_.cfg
If there are connection problems, you’ll see an error message.
EDIT: There was a python rewrite by Sam@orgraphone.org
Feel free to check it out here
Let me know if you have any thoughts or suggestions.
-Gregg
Posted: July 21st, 2010 | Author: Gregg | Filed under: Asterisk VoIP, Linux, Tech | Tags: appointment, appointment reminder calls, asteris, call blasting, office reminder, ontime1405, ontime1405.com, voip, wake up call | 5 Comments »
A while back I had a meeting with a friend in Orlando, FL. He came up with the idea to provide an appointment reminder service to companies that would benefit from such a service. Doctor’s offices, Dentists, Mechanics, Repairmen, etc. I drew up the logistics of the program and began working on it in the fall of 2008. Since then we have had customers use the software to easily call their customers and remind them of appointments and also use the software for call blasting. Call blasting is a feature to call an unlimited amount of numbers and playback a message. Since I have experience in the Asterisk VoIP platform I programmed the system to allow for options and the customer to enter in input with their keypad.
www.ontime1405.com

The purpose of this article is to detail the logistics and share it with the Asterisk community.
Basic overview:
There are a few different ways to originate calls with Asterisk.
-From the Asterisk CLI directly with the “originate” command
-From the AMI (Asterisk Manager Interface)
-From .call files placed in /var/spool/asterisk/outgoing
I went with .call files because of a few reasons:
-I can generate all of the call files ahead of time because they are read based on the timestamp of the file (less load)
-It is straightforward and easy to follow, and also leaves behind the .call file that is archived after the call is finished
-Asterisk will parse and execute based on timestamp, so to burst 100 calls would require much less overhead than through AMI/CLI
There are some negative effects to the .call files too:
-Changes made need to remove and add another .call file (If the customer changes their appointment time after the file was generated)
-The lowest interval to generate calls is every minute, so we can burst to 400 calls/minute (also more difficult to throttle calls)
Now you know how the calls are originating on the system, let’s move on to the database and interface.
I hired someone to program the interface in AJAX and PHP. That way it is secure and saved a lot of time if I were to attempt it myself. The interface is very clean and easy to use for customers. They also have the ability to import 1,000 records at a time via CSV files. Feel free to demo the interface via the link on ontime1405.com for “Demo the Interface”.
The interface stores the call data in MySQL which is then scanned hourly to process and create all of the .call files according to their timestamp. We only care about the calls that will be made by the system in the next hour, so those are the only .call files that are generated. The script is a PHP script that connects to the database with the query of calls to be made, strips them down, then does a loop to create the .call file, set the timestamp based on the variable, then move the .call file to /var/spool/asterisk/outgoing.
The .call files include 1 custom variable that is comma-delimited so we can parse out the appointment time, AM/PM, and any other custom variables.
The other important lines in the .call file point to the context in the Asterisk dialplan that the customer’s announcement and options are defined.
Now you may ask yourself, It will be a pain to manually add customer’s options and dialplan for every sign up, right? It was at first, but I created several automated scripts to generate the dialplan for the customer and “dialplan reload” when complete.
The rest of the accounting/etc is accomplished via bash cleanup scripts that write to the database and provide reporting/etc.
The same system can be used for call-blasting to a large group of number for a survey, snow day announcement, marketing message.
Please let me know if you have any questions or advice/constructive-criticism for me regarding the program.
And feel free to try out the demo interface and hear a reminder call!
Cheers,
Gregg
Posted: July 21st, 2010 | Author: Gregg | Filed under: Mac, Tech | Tags: create iphone ringtones, create ringtones itunes, free ringtones, iphone, itunes, itunes ringtones, ringtones | No Comments »
I haven’t seen any “clean” write-ups for creating free ringtones for your iPhone yet, so here goes.
Note: This is done on my Mac, if you notice any differences please let me know and I can make an updated PC-guide.
-Open up iTunes on the Mac/PC that you use to sync with your iPhone.
-Make sure that AAC is the import format. If not, change it by: iTunes, Preferences, Import Settings, Import using: AAC Encoder, Setting: iTunes Plus, then click OK.
You should notice that if you right-click on any song in your library, it will have a “create AAC version” option.
It is a good practice to make your ringtones 30 seconds in duration.
-Locate the song you wish to make in to a ringtone.
-Preview and note the point in the song that you want the ringtone to start
-Right-click on the song, Get Info
-Go to the options tab, put in your start time and end time for the song, click OK

-Double-click the song to play the 30-second clip you just set, adjust start and end time if necessary
-Once you have the 30 seconds of ringtone goodness, right-click on the song and create AAC version

After the song is converted you should see a duplicate song below the original with a duration of 30 seconds. Left-click and drag this new song to your desktop. The ringtone will be copied to your desktop as a .m4a file. Left-click and rename to .m4r extension. You will get a prompt that says, “Are you sure you want to change the extension from “.m4a” to “.m4r”? Choose “Use .m4r”

Left-click the ringtones folder in iTunes and drag your new .m4r file to it, you now have your new ringtone! Make sure it will be copied by editing your sync settings to copy all ringtones! Voila!
Note: Make sure to cleanup and remove the start and end times from your songs that you made ringtones. It will be annoying whenever you play them and they will only play for 30 seconds.