Part III - A Littany of ****ups and Suffering
My boards came in. Jump for joy. I got some of the lovely OSH Park purp in the mail, and did some cursory inspection.
(http://i.imgur.com/lYq3xjb.png)
It looks like most everything returned acceptably. Oh wait maybe not. In my brilliance, I forgot to wire the traces to the USB B receptacle. I hope that's all I messed up. So, I wired it all up. Looks nice doesn't it?
(http://i.imgur.com/rPppDPH.jpg)
Here it is compared to that old perfboard I made.
(http://i.imgur.com/bgEaop0.jpg)
You can even check out my ghetto USB wiring.
(http://i.imgur.com/pUAoww1.jpg)
Now all I have to do is slap some pre-made code in there, and I have a working keyboard that will impress old computational professors when they come visit my lab (it happens).
Aaahahahaha, if only it was that simple. Don't forget that I have never done this before. Every project demands a pint of blood, and this would take a bit.
Obstacle 1:
I did a successful make to the ATmega8, and kept getting More
Error 43
Windows has stopped this device because it has reported problems. (Code 43)
. I did a bunch of things trying to get it to work (fuses, linux box, crystal swap, USBlyze, yelling at it) to no avail. Reluctantly I asked for help on a forum. Turns out the files were using an old version of V-USB.
Obstacle 2:
Alright, so now I have the new V-USB. I had to change a few things to get it to make successfully, but I found those changes on my own. Go me.
FAILURE, Error 43, device descriptor read/64 error 71, etc.
Blargg posted his diff file of what he changed, showing me a few extra things to try. Ok, easy enough. I make all the changes he did.
Obstacle 3:
Those changes weren't all good. Since I'm so green at this, I didn't notice that he moved his USB pins only because he set his hardware up differently. Clearly I am a drooling windowlicker.
Catharsis:
I decide that Gregor has existed long enough. He seemed to be drained by the constant exposure to light afforded by the glass vial. He will face the same fate as Legs McKinzie before him. I fill the vial with the struggling bug with an aliquot of concentrated nitric acid. It was interesting to observe that the cockroach continued struggling for ~1s after submersion in the strong acid. Remember that the spider immediately ceased motion upon contact with the acid. This suggests that there is truth to the survivability of cockroaches when applied to extremely acidic conditions. Gregor did die, and his suffering was not long. I sealed the vial and set it on the lab bench so I could watch his body dissolve into a set of transparent chitinous fibrils bathed in the characteristic orange hue of large quantities of nitrogen dioxide dissolved in the water.
Obstacle 4:
On the advise of the wonderful blargg and my PI (who I was mad at that day for something related to being drunk the night before), I loaded the LED blink script onto the ATmega8. A minor success. At least now I know that the programmer wasn't messed up.
Blargg also suggested that the Zener diodes I had included would cause problems with capacitance. I replaced them with a set of switching diodes. No luck. Same old bull****.
Obstacle 5:
My PI finally had time to look at what I was doing. He mentioned that the diodes could be completely unnecessary for such a low power application. I completely removed them and patched over the spot. No luck. You guessed it, same old bull****.
Obstacle 6:
Blinking was out of time. I corrected fuses. Correct blink program. Partial success! The computer recognizes for a moment that this is, in fact, a keyboard. But only for a moment. Failure.
Obstacle 7:
Blargg is out of ideas.
Obstacle 8:
My PI is out of ideas, and he never really gave much of a **** anyway. He knew this was a practice project and wanted me to get started on the real work.
Obstacle 9:
Life
So the keyboard sat for a few days, untouched. I had some arduino stuff to work on, and my other work was getting busier. Nothing else can go wrong....right?
Stay tuned next time for the most current chapter of the tale - Part IV: Gregor's Revenge!
And now, the thrilling semi-conclusion of our story.
Part IV - Gregor's Revenge
So now we are in the middle of August. Outside, the temperatures were relatively mild for that time of year in Oklahoma. The highs only breached 100ºF/38ºC in the afternoons, and cicadas made incessant noise all day. Inside the wonderful world of the laboratory, the temperature sat at a comfortable 73ºF/23ºC with a stiff breeze from the fume hood and the buzz of the vacuum pumps inside all of the UHV Xray and mass spec equipment. I saunter into lab around noonish (I'm a night owl) to find a huge mess. It looked like someone sprayed something tan out of the sink faucet all over the benchtop to my desk. This is about an 8 foot span. Within this span of workspace was the C64 keyboard. It was splattered with this unknown fluid. The Vic20 was face down, so the keys were unaffected, but the internal circuitry of the keyboard....take a look.
(http://i.imgur.com/zDy98TC.jpg)
(http://i.imgur.com/hDhZE1g.jpg)
(http://i.imgur.com/FJuFoEs.jpg)
The fluid had seemed to somehow penetrate the board and the plastic parts. A sparkfun box on the desk took most of the splash, thankfully.
(http://i.imgur.com/qUyZuyo.jpg)]
The fluid looks more yellow there. I had no clue what it was. Surely nothing like that was in the sink recently. I went to find the lab's requisite dour Russian postdoc that does strange things to see if he had done anything that may have caused the splash. I turned around to find that the table across from the bench had been sprayed too.
(http://i.imgur.com/cK4w5Ce.jpg)
I decided to inspect the spots that had gone over to my desk. I had a new computer there, and the some of the spray had hit the case. On the metal case, there was an outline of a dried droplet of the unknown liquid, and a tiny off-white crystal in the center. I looked at the other spots more closely. Each spot either had yellowed drippings or the single crystal. I was baffled. What could cause this? My equally nerdy labmate came up to investigate. He commented that the spots all probably radiated from a single location. We traced them with our eyes to the shelf just above the bench between the sink and my desk. There was a thick layer of unknown goo in one spot that hadn't been there before.
(http://i.imgur.com/FJEXYt4.jpg)
It is a bit hard to see the thickness of the layer there in that picture, but it is the best I could muster. The large rust marks on the metal backing also seemed unfamiliar to us. There had to be something that could cause damage to metal and plastic and organic matter but leave little chunks behind. Then I saw it. It was the evidence I needed to make the connection....
(http://i.imgur.com/kykp8jU.jpg)
"Holy ****! It was Gregor!" I blurted out to my confused labmate. I reminded him of the cockroach that I caught a week before and submerged in nitric acid. I had left the glass bottle sealed that whole time. The nitrogen dioxide that I had burped out of the spider experiment was allowed to build up unchecked. I burst into maniacal laughter that turned into unrestrained giggles as my labmate guffawed with such gusto he had to hold back tears. I had to search all around the room to find the glass shards that had been ejected. There was no hope to clean up the mess. The tan splash marks were actually burns. The acid also explains the rust spots on the back wall. The Vic20 is now permanently scarred by acid.
If we remember our gen chem courses, we may remember how precipitation works. If a solution is saturated with solute under pressurized conditions, upon pressure release some of the solute will precipitate out. Remember how I said there were little off-white crystals in the splashes. That's right, that was Gregor. His dissolved chitin and ichor crashed out of solution when freed from the glassy prison. Little crystals of cockroach are all over the lab area now. Part of Gregor is infused into the keyboard. Yeah, my keyboard has the essence of a sacrificed being with a vengeful spirit. What does yours have? Some spooky skull keycaps? That's cool too I guess.
And thus ends this part of The Vic-20 Saga. The Vic20 is still unworking and sitting on the benchtop. If anybody has some tips for how to get the circuit working, that would be cool. Also, if anybody has the number for a reliable exorcist, that would be nice too. I still intend to finish this project, but it is on temporary hiatus because grad school. More
Because I thought grad school would work like this:
(http://i.imgur.com/QhU8bWL.gif)
But I have found it is more like this:
(http://i.imgur.com/LeqDwlE.gif)