Post Index:

Entries in IT (3)


Refurbishing a Commodore 64

I recently was able to acquire a nice piece of my childhood, namely a 1983 "breadbox" Commodore 64. I used to have one as a kid. It was the very first computer I ever touched, and was basically responsible for getting me into the IT field and programming in the first place. Then my Mom gave it and all our games away to a friend while we were at summer camp, thinking we wouldn't mind since by then we were all up into Super Nintendo and such. Having the highest number of sales (and a 40% market share) of any single model home computer of all time you would think they would be a piece of cake to find. They seem to always be kicking around EBay, but the last one I bid on ended up going for WAY over what I was willing to spend. I think it was around $350 for the main unit and a tape drive, no cables. Ouch.

Last week, I got lucky. An internet forum acquaintance had a VIC-1541 disk drive kicking around in his attic. He offered it up if I was interested, so I had it shipped. I then started poking around EBay again, and ended up winning this unit for just over $12, condition unknown. There seem to be a lot of "parts" C64s on the market, so I wasn't expecting much. Boy did I get lucky. A few more good bids later, and I'm in business.

First thing first: I needed a power supply. The C64 uses a 7-pin DIN connector to provide both +5VDC and 9VAC to the mainboard. I guess the original power supplies were notorious for the regulators burning out, and taking chips with them. Since this fact troubled me (and was basically moot since I had no cables), I looked up the pinout and built my own. A trip to Fry's netted an 8-pin DIN for about $0.59, and the center pin was easily removed with a bit of violence. I had plenty of decently beefy 5VDC wall warts lying around, and DigiKey had a 9VAC one for about $7 after shipping. A bit of heat shrink and some soldering, and I was ready to test the unit out. To connect to the one TV I had with a standard antenna A/V connection, I used the same setup I usually run my Nintendo on. Cross fingers, throw switch.

'Tis the perfect amount of bytes. This means the RAM is most likely still good, so yay on that front!

Trying the keyboard out, I noted many of the keys didn't work most of the time, and when they did there was terrible debounce. So in I want with the screwdriver to see what I could do! I met with a dire warning from beyond time:

Oh man, there goes my 30 year old warranty...

They keyboard is just a bunch of simple conductive pads, similar to a TV remote. A bit of a scrub with a pencil eraser and some alcohol and they shined right up.

Popping the unit back together, I gave it a go with some quick BASIC commands. Flawless!

Next I was dying to test out the SID, Commodores legendary audio chip. These things are crazy hard to find these days. Folks use them in synths and other audio devices, and the demo scene is still going after all these years. Unfortunately, they burn out rather easily. Since there's no real way to make more of these babys every burned out chip is another chip less to go 'round. I found a nice 1 line BASIC audio demo and typed it in. Nothing. Damnit. Luck for me a batch of 10 happened to be found on a warehouse shelf, never before placed into any unit, and tested by the seller. I picked up two.

While I wait for a replacement SID, I decided to clean up the entire unit (full of dust bunnies) and see what I could do to extend the life of the other chips.

So far all I have done was verify voltages with a multimeter, re-check the SID output with a scope just in case it was my TV or something, and added some old heat sinks I had lying around to try to keep this old stuff cooler.

I plan to salvage or fabricate a few more heatsinks for the ROM, RAM, and kernal chips. I would like to make an s-video cable to clear up that picture a bit. I have also begun to work on an Arduino/Rasperry Pi solution to emulate the 1541 disk drive I have, but allow me to read in images off USB or an SD card. More on that to come. Right now I am pretty stoked to be at this point.


User Interfaces: Do We Fight Innovation?

Installing Ubuntu 10.04 on my desktop was my afternoon project once I got home today, and it went swimmingly.  They've really made it a streamlined process to get from A to B for the end user, and I like most of the improvements (although integrating "social" aspects and the "Ubuntu One" cloud thing I'm undecided on so far).  The first thing that I noticed though wasn't the slick new skinning, or the crazy Prince inspired color scheme (Purple Rain anyone?).  It was the fact that they moved the window controls to the left side of the apps, instead of the usual right.

I immediately started searching for a way to move them to the right side again, but it seemed like I was stuck with it.  When I finished the obligatory "apt-get update", my cursor immediately snapped to the upper right corner of the terminal, only to be left in the cold of an empty title bar.  I was starting to get annoyed.  Thinking I couldn't be the only one pissed here, I fired up the ol' browser and started to Google for an answer to why I had been forsaken to the hell of Bizarro Desktop.

Then I started to actually think about what was happening here.  Why am I so annoyed by such a small detail?  Mac users deal with it after all.  Who says it's better to have the controls on one side or the other anyway?  I honestly cannot come up with a single argument to support controls on the right except for the hollow "that's what I'm used to" that every other Windows user would probably say to this.  And actually, as briefly mentioned by Ubuntu Overlord Mark Shuttleworth in a bug report on the subject, this does open up some extra room for notifications, widgets, etc.:

"Moving everything to the left opens up the space on the right nicely, and I would like to experiment in 10.10 with some innovative options there. It's much easier to do that if we make this change now. I appreciate that it's an emotive subject, and apologize for the fact that I haven't been responding in detail to every comment - I'm busy moving house this week. But the design team is well aware of the controversy, your (polite) comments and more importantly *data* are very welcome and will help make the best decision." - Mark Shuttleworth

So this begs the question: If people are so peeved by such little changes, what can be done to create new and improved UI designs in the future?  Let's say something as cool as the interfaces in Minority Report, Iron Man 2, and The Matrix become a reality.  Are people really going to want to use them enough to switch their standards?  Are we going to be stuck in the 2D desktop forever?  The 3D attempts usually die out after a few pretty screenshots.  I'd absolutely LOVE to see some of these become more useful then a burst of wow factor to impress friends and coworkers, but the truth is they tend to be slow, inefficient, and useless for day to day tasks.

Someday, things may change.  Hopefully, we're not shooting ourselves in the foot because of what we're "used to".


Remotely Enable Remote Desktop

Well, let's start this off with a pretty common one I've been asked about lately: How to remotely enable remote desktop access in XP/2003.

Sometimes, you just need to get to a server from deep within the warm recesses of the IT closet.  And as an afterthought, you realize you forgot to enable remote desktop on that beast.  Well, I've been there more often then I like to admit.  So here's a neat little registry trick to get you back in without having to leave that cozy spot behind the racks you took ten minutes to crawl into!  A quick word of warning: this involves going into the registry.  If you feel that this is uncomfortable, you're probably better off just walking upstairs and logging in locally after all.  But if you're careful (or recklessly comfortable with this kind of work!) you'll be fine.

First thing's first, you obviously have to have administrative access to the machine we're connecting to.  That said, start up regedit on your local machine:

Start -> Run -> regedit

Now right click the upper right icon where it says (local), and select "Connect to remote machine".  Enter the name of the server we're opening up, and you should be seeing its registry instead of local.

Next navigate to the following registry key:

HKLM\System\CurrentControlSet\Control\Terminal Server

Now double click the "fDenyTSConnection" key, and change the value to 0.

Now, we need to reboot the remote machine.  We can also do that remotely by typing the following into a command prompt:

shutdown -m \\<em>servername</em> -r

where servername is the name of the remote server we want rebooted.

That's it!  Once the server comes back up, you should have access through remote desktop.

Another quick note, Windows firewall may be blocking remote desktop as well if it's enabled.  I have yet to personally try this, but I'm told you can adjust firewall rules over the network by using the following command:

netsh firewall set service RemoteAdmin

Also, this can be used in reverse to close access once you're done, which is a good idea on a LAN you're not 100% unconcerned about security with.  Especially on customer sites!