Sorry about the delay, everyone. “Stay tuned,” followed by: no internet until a few days ago. Well, now I’m here, ready to bore you to death. 🙂
…Like tonight’s debate. Oh, I was so close to doing a whole draft response to the gun control “debate,” where the message has been all the same: comply with the President’s agenda. Forget Putin, we’re lacking in leadership over here…
Now, today, I’ll be less serious. Because I’m so weak even social media stresses me out. Don’t tell me otherwise; I’m sick of pandering in general.
Here’s a true story for you. It was 5 p.m. September 1st, so over a month ago, I decided to plug in the Nintendo Entertainment System…
Like the last time, years ago, the power light was flashing. There were solid colors on the screen. This whole time I thought the NES was gone forever (because there are no repair shops anymore), but as I watched, I could see the Picture Processing Unit was functioning because the video signal was normal. (Or as normal as the HDTV will show given the logical-pulse signals as opposed to sine waves, the color burst issues with the 2C02, etc.…) There must be a consistent signal when it comes to video; anything off will be noticeable.
Still, I thought I was only going to see nothing but green or blue. So I experimented with the power button and cable to try to see if I could get different colors. That is, until I saw occasional playfield garble. (The playfield is the sole background layer when it comes to the console’s graphics.)
I figured the CPU wasn’t working, on account of failed power-up (the system kept resetting automatically) and the fact that the 2A03 experiences “bit rot” over time; as far as I recall, the instruction
microcode PLA decays.
I spent maybe an hour, and I was about to give up. But it was inclined to get a good shot of the garble (one of the images above), and, just in case the system worked, I loaded in Super Mario Bros. 2 due to the fact that it plays its title theme music immediately (no video necessary). I shifted the cartridge connecting around, and…
The CPU wasn’t dead! …Now, it didn’t look right, as you can see, but so much needs to work correctly just to get this screen and music playing. It was still resetting too. It was also annoying that the TV, without option, only presents the video and audio after several frames, not immediately with old CRT TVs.
I shifted the cartridge some more…
Huzzah! Ba-zinga! (Insert Sheldon image here.) I got the NES to stay on, and began to play. My persistence had paid off! I piped the sound through the stereo, explored a little, left it on, and jumped for joy outside.
Now, it wasn’t the child in me that enjoyed this. The child in me is dead. But seriously, it was kind of important that I got it running because it was an actual NES, not an emulator. The Real Thing, as programmers call it. …And as a programmer myself, it’ll help me in improving my own emulator…an emulator that came from FCE Ultra, so not exactly mine, but improvement at any rate.
I made recordings, took photos, made measurements, and noticed things I didn’t quite notice before, and found that the 240p video is interpreted as 480i if the resulting lines are consistent enough.
Unfortunately, Super Mario Bros. 2 was the only thing that ran properly during my
playing tests. This made it clear, the problem all along, why the NES wasn’t working: damaged contacts.
Some of the graphics connectors weren’t connecting, resulting in the mess above. Corrosion is a problem in this water-damaged house… But all the code was there, so I was able to test Super Mario Bros. 3 without being able to see it all.
The lesson in all of this? Persistence pays off! Experiment a little!! … Huzzah!!!
…Well, I’ll check out the debate anyway. And fall asleep early. Have a good night.