Apple PowerMacs are “Screwy”

If you’ve ever worked on a G4 or G5 PowerMac, you may have run into the issue of finding replacement screws. Despite looking like standard PC case screws, commonly called #6-32, the screws used by Apple were metric. Being metric wasn’t in itself a bad thing. Your local home improvement store may have carried what you need in their “special hardware” section. But, no, Apple went further and used M3.5 size screws in most of their systems. You didn’t know there was a metric screw size between M3 & M4? Neither did I.

After measuring and a lot of Internet searching, I came up with a list of the most common screws used in my PowerMag G4 Quicksilver system. I have to thank an old discussion thread at Apple’s website for helping figure out what size these screws are.

  1. M3.5x5mm, pan head
    1. CPU
  2. M3.5x5mm, flat pan head
    1. Hard Drive mounting bracket
  3. M3.5x6mm, pan head
    1. Motherboard
    1. CD-ROM cage
    1. PSU cage
    1. PCI brackets
  4. M3.5x8mm, flat pan head
    1. Rear fan
    1. PSU cable grommet
  5. M3x5mm, pan head
    1. Modem
  6. M3.5x8mm, socket head
    1. PSU

Have fun,
Tony

Turn YouTube into a Podcast Feed

While watching some YouTube videos, I got the idea, “I wish I could listen to these as a podcast while driving.” Digital Foundry’s Direct Weekly was a perfect example of this until recently (they have a podcast version now). Another good example was Hardware Unboxed’s monthly Supporter Q&As. Of course, someone already had the same idea and wrote a program called Podsync to take YouTube channels or playlists and create RSS feeds for use with your preferred podcast player. What’s even better is the setup of Podsync is simple to set up and run on your own server or cloud provider.

Continue reading “Turn YouTube into a Podcast Feed”

FRAM Mod for N64 Details

I’ve been working on this story for a while now. Both as a blog post and as a stream/YouTube video. Everything started a few months ago when I discovered my N64 Controller Pak from the late 90s had stopped working. What was the Controller Pak? It was a memory card for saving or transferring save files for Nintendo 64 games. The Controller Pak wasn’t required for all games. Some, such as Super Mario 64 using memory in the game cartridge for saves. Other games, like Turok, had no cartridge memory and entirely relied on the Controller Pak. And then others, like Perfect Dark, could use both cartridge memory or a Controller Pak.

Anyway, my Controller Pak was not working, and I knew it was time to attempt a repair. I wasn’t worried about the failure. The Controller Pak used a 3.3V coin-cell battery to keep the contents of the SRAM stored. At 20+ years old, a dead battery was a common problem for these Paks. I assumed all I needed to do was solder a new battery into the Controller Pak, and everything would be working again. A quick order to eBay, and a few days later, I had a 10x of CR2032 batteries with solder tabs. I also purchased three more official Controller Paks just in case I had issues.

Continue reading “FRAM Mod for N64 Details”

The Perfect PS2 Fan Upgrade

I want to give a big shout-out to the online retailer The Peaceful Outcome (TPO) and their PS2 Noctua upgrade kit. If you have a PS2 with a loud fan, then this kit is perfect.

Backstory: I have owned my PS2 since Christmas 2001. The entire time the fan in the system was loud. I always assumed that was normal since I had never really listed to another PS2 in a quiet setting. Fast forward to 2019, and while walking in my neighborhood, I found a PS2 in a box that was sat out on the street for junk pickup. It was a later revision fat PS2 that lacked the firewire port. I grabbed the unit, took it home, and discovered there were no significant issues. I was surprised to learn the system was virtually silent when compared to my PS2.

Recently I was playing through the original Final Fantasy XII, and the noise of the PS2 finally got to me. Other members of the RetroRGB Discord server had talked about the fan upgrade, so I went to eBay and bought one for myself. I felt $35 for the Noctua fan, fan guard, 3d printed rear panel parts, and wiring pigtail more than reasonable, and the results were impressive. The installation took less than one hour, and my PS2 is now completely silent. Check out the before and after.

For instructions on removing the original fan from a PS2, I recommend following the guide posted at iFixit.com. The process involves completely removing the PS2 mainboard from the bottom shell to get the fan unplugged from its header.

Links to the TPO’s Amazon and eBay listing are below (these are not affiliate links).
https://www.amazon.com/TPO-Playstation-Quiet-Upgrade-Modification-30000/dp/B0854FJ4RR
https://www.ebay.com/itm/203261375555

Have fun.
-Tony

The Better N64 Joystick Repair

Today I’m going to describe the installation and review of replacement N64 joystick parts sold by Kitsch-Bent. As described by their website, these parts are made of polyoxymethylene plastic for durability, and I’m impressed with the quality. They look like OEM parts.

https://store.kitsch-bent.com/product/n64-joystick-gears

Why do N64 joysticks wear out? The answer is twofold. The bottom of the stick rides in a bowl and grinds the surface of the bowl away over time. That is the white powder you eventually see around the base of the joystick. As the bowl wears away, the joystick sinks lower into its assembly, and this causes the movement to feel sloppy. On top of that, the joystick slides inside slots to push gears around. The slots will eventually lose their shape causing joystick to have too much play.

Disassembly of the N64 controller is very easy. There are several Philips screws around the perimeter of the controller, plus two more screws in the expansion port. Once you are inside the controller, the next step is to move the trigger button from its home on the backside of the joystick assembly. Now, unplug the joystick from the main PCB and unscrew it from the shell. Finally, carefully remove the last screw from the joystick assembly. There is a spring inside the assembly pushing the joystick down into the bowl, and when the screw is released, pieces may go flying.

The inside of the joystick assembly may look complicated, but the mechanics are simple. As the joystick moves around, it pushes the gears, which turn optical encoder wheels. The optical encoders turn the analog movement into digital numbers used by the controller to determine how far the joystick has moved from its home position. This is the same technology used in older computer mice used. The 8-Bit Guy did a video on how mice work if you want to learn more.

Installing the new parts is straightforward. Remove the joystick, spring, and gears. Remove the old bowl. Transfer the optical wheels to the new bowl. Reverse the process to install the parts.

That’s it. Overall, I’m happy with these parts sold by Kitsch-Bent. At $1.15 for the bowl, $0.95 for the gearsets, and $1.05 for the thumbsticks, you can repair several joysticks for the same cost as one aftermarket replacement. Most repairs should only need new gears and maybe bowels. The longevity of the components is still unknown. I don’t play my Nintendo 64 daily as I did in 1996-1999, so I don’t expect the joysticks to wear out.

Have fun.
-Tony

A $1 fix to Audio-Technica’s Microphone Boom

Recently I purchased an Audio-Technica AT2020USB+ microphone to replace my old Plantronics GameCom Pro 1 headset from 2005. I splurged and spent the extra $50 to get the streaming pack, which included headphones and a boom.

The microphone and headphones are great, but it turns out the microphone boom is not the highest quality. The springs pop and creak when the boom moves around. You’re not supposed to rotate the boom around in the desk mount. The biggest issue, however, is a carriage bolt and nylon lock nut clamps the microphone mounting stud to the boom. If you twist the stud up/down enough times, that nut loosens, and the mounting stud falls. The only way to tighten lock nut is to grab and wrench.

Showing the location of the back lock nut
The nylon lock nut will eventually loosen if you move the stud up/down

Here is a quick fix for the lock nut issue, and it cost less than $1. Go to the hardware store and purchase an M4 wing nut. My local Lowe’s and Home Depot both had these wing nuts in stock located in the special hardware section. If the nut starts to loosen, then you can reach up and twist the wing nut instead of grabbing a wrench.

wing nut installed
Problem solved with a wing nut

Have fun.
-Tony

Super Simple Raspberry Pi Print Server

For a log time I’ve been network printing in my house to a small laser printer connected to my Linux Server.  This year I decided to move my server to the basement of the house, but didn’t want to relocate the printer from the office. The solution was to pickup a cheap Raspberry Pi 2 and set it up with the same settings as my primary server. Yes this is a waste of a perfectly functional Pi, but you have to make sacrifices sometime. Continue reading “Super Simple Raspberry Pi Print Server”

Homemade NAS Box Redux

In 2012 I took my old PowerMac G4, slapped in a SATA card, some hard drives, and turned it into a server for storing media and computer backups. Then in 2013 I upgraded my MacBookPro to OS X 10.9 and lost the ability to do Time Machine backups to AFP shares from OS X 10.5. What to do, what to do? Solution: turn the PowerMac into a true server by running Linux. The results? Totally awesome.

Continue reading “Homemade NAS Box Redux”

Homemade NAS Box Part 3

Bittorrent Server

DISCLAIMER: Do not use file sharing to download copyrighted material.

Not much to say here. I installed μTorrent so that I would have a way to download media off bittorrent. Transmission was also a great choice for bittorrent client.

UPnP Server

The coolest thing I’ve did with this project was setup a UPnP media server. The concept was simple: music, pictures, and videos are stored on the server and shared over the UPnP network protocol. Devices, such as a PS3, can see the content on the server and play it without having to download and save locally. There are several commercial products available that allows you create a UPnP server including MediaLink, EyeConnect, and Twonky. Being the person who liked to take the hard route sometimes I decided to skip all of those and go straight to MediaTomb, the open source alternative.

  1. Install the XCode Development tools from Apple
  2. Download and install MacPorts
  3. Open a Terminal window and run all of the following commands as either “su” or “sudo”
  4. port selfupdate
  5. port install mediatomb
  6. Wait for MediaTomb and all of its dependencies to finish compiling
  7. Once compiling is complete you can start MediaTomb by running the command “mediatomb” (no su/sudo required)
  8. The output from the command will give you the web address to MediaTomb’s web interface. Using Safari or your browser of choice you can select what content you share with your media devices

For my setup I wanted to stream content to my PS3. To do that there was a change I had to make to MediaTomb’s config file that was located in ~/.mediatomb. All I had to do was uncomment the line that said <protocolInfo extend="yes"/>. I also decided to disable the ability of my PS3 to see every folder on the server. That required changing <pc-directory upnp-hide="no"/> to <pc-directory upnp-hide="yes"/>.

With MediaTomb I could also enable the use of on-the-fly media transcoding. In the event I had a file the PS3 could not play, a rule could be setup in the config file that would automatically convert the media to a more compatible format. Using this feature required a lot of testing to work out settings the PowerMac could handle. Also, because the media files are being transcoded in real time I lost the ability to pause, fast forward, and rewind on the PS3. In the end I decided to take a different approach and setup folder actions to convert only files I wanted.

MediaTomb Transcoding

I mentioned earlier that I had developed an alternative to MediaTomb’s built in transcoding feature for media files that didn’t play on the PS3. I stole the idea from Vuze, another bittorent client, which added its own UPnP server. In the event Vuze downloaded a file that wasn’t compatible with the PS3 it would re-encode the file completely and then share the new version instead of the non-compatible version.

I was able to accomplish almost the same functionality using FFMPEG, folder actions, and MediaTomb’s built-in directory scan feature. If I had a file that did not work then I moved it to a folder called “convert”. Attached to that folder was an Applescript action that would tell FFMPEG to covert the file to a new format and save it in another folder called “compatible”. I then configured MediaTomb to scan the “compatible” folder every hour for new files and make them available to the PS3. For everything to work I had to rebuild FFMPEG to include codecs for aac, mp3, x264, and xvid. Below is the commands for MacPortsid

port deactivate ffmpeg
port install -f ffmpeg +nonfree

Below are the applescripts I wrote for the folder actions. When a file dropped into a folder the action would initiate the script and start processing the file through FFMPEG. Based on testing I had done some video files only needed the audio re-encoded for the PS3. Others required a complete re-encode. I’ll admit the PowerMac didn’t have the power to re-encode at realtime speeds, but I normally let it take care of files during the night or while I was at work.

Re-encoding only audio of a video file example:

on adding folder items to this_folder after receiving these_items
repeat with i in these_items
set {name:Nm} to (info for i)
set Nm to quoted form of Nm as string
set vFolder to quoted form of POSIX path of this_folder as string
set vSource to quoted form of POSIX path of i as string
try
do shell script "/opt/local/bin/ffmpeg -y -i " & vSource & " -vn -f mp3 -ab 192k -ac 2 -ar 44100 " & vFolder & "converted/" & Nm & ".mp3"
on error
display dialog "There was an error when re-encoding " & Nm
end try
end repeat
end adding folder items to

Re-encoding Audio and video example:

on adding folder items to this_folder after receiving these_items
repeat with i in these_items
set {name:Nm} to (info for i)
set Nm to quoted form of Nm as string
set vFolder to quoted form of POSIX path of this_folder as string
set vSource to quoted form of POSIX path of i as string
try
do shell script "/opt/local/bin/ffmpeg -y -i " & vSource & " -vcodec libxvid -vb 1000k -acodec libmp3lame -ar 44100 -ab 128k -ac 2 " & vFolder & "converted/" & Nm & ".avi"
on error
display dialog "There was an error when re-encoding " & Nm
end try
end repeat
end adding folder items to

Starting Meidatomb during startup:

  1. Created a plain text file with the command /opt/local/bin/mediatomb -d
  2. Save the file as mediatomb.command
  3. Open a terminal window
  4. Run the command chmod +x _folder_location_/mediatomb.command
  5. Open System Preferences and go to Accounts
  6. Select the account that auto logs in and select Login Items
  7. Add mediatomb.command

With enough time and patience I could create a start lauch daemon to take care of starting MediaTomb up as a service, but I took the lazy man’s approach.

Next time: Other odds and things

Homemade NAS Box Part 2

it may have took more than 6 months but I am finally going to finish documenting my build of the homemade NAS Box. The project so far has turned out well. Right now I have it providing four main functions: Time Machine and Windows 7 backup, Bittorrent server, UPnP media server, and proxy server. In future posts I will provide more details.

OS Configuration

I decided to keep the partition layout in OS X simple. The OS would live on the 320GB hard drive. The 2TB drives would not have any special RAID configuration. Just one partition on each drive. Ideally I would have used 3x 2TB hard drives and configured them into a hardware RAID 5 configuration. That would have gave me 4TB of total storage with redundancy in the event one of the hard drives failed. Sadly the FirmTek SATA controller didn’t support any kind of hardware RAID and OS X didn’t support software RAID 5.

Backup Server

Creating a backup server was the easiest part to setup. On the server all I had to do was open up the Sharing System Preferences and enable AFP/SMB file sharing. Now the drives were available to other systems in my network. To get my Mac and Windows systems to use the network storage for backup required configuration on their end.

OS X:
Open up a terminal window and enter the following command.
defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1
Using network shares other than an Apple Time Capsule is completely unsupported by Apple. Users previously reported issues when a drive filled up, which caused their entire Time Machine backup to become corrupt. I’m uncertain if the the issues were ever resolved in 10.6 but to test I followed the advice of some and added a disk quota for the backup’s sparse bundle. Right now I’ve yet to hit the limit so I don’t know what to expect when I do.

Windows 7:
Windows Vista/7 came with a built in backup utility that allowed for the use of network shares as a storage location. That is great if it wasn’t for the fact Vista/7 also broke authentication when connecting to Windows shares hosted on OS X 10.5. The problem was remedied by making an edit to the system with “gpedit.msc”. Information was found at the following link: http://www.windowsreference.com/windows-7/unable-to-access-network-share-on-macos-x-from-windows-7/. With the authentication issues sorted out it was possible to configure Windows 7 to perform a full backup of the system drive on a regular basis.

Next Post: Media Sharing