Cleaning a Focus Electronics FK-2001 Keyboard

New keyboard, who dis?

I’ve been using the Focus FK-2001 for about a week now, and I’m enjoying it. Coming from my Matias Tactile Pro, it’s a pretty easy transition (both using Alps switches and all). I do really enjoy the Tactile Pro, but I wanted something with Windows keys.

I also wanted something with a vintage style, but I didn’t like the prices for a Model M (most Model M keyboards with Windows keys are rubber dome switches anyway, and not the superbly clicky bluckling spring switches that the early Model M units employ). Anyway, I now have me a genuine vintage clicky keyboard that is a treat to type on.

Unfortunately, it’s rather…dirty. Time for a deep clean!

Opening up the case, we find the keyboard driver chip. Unfortunately, I haven’t been able to locate any information on this Intel microcontroller. It’s really just an object of curiosity right now, though.

Ran the keycaps through the ultrasonic cleaner for about 30 minutes and lubricated the switches before putting everything back together. These are all the keys with wire stabilizers reinstalled.

Gave the case a good wash with soap and water, too. Of course, I forgot to put the stabilized keys back together first, so I had to take it apart again 🙄

Now it’s completed, and I only messed up 1 key putting it back together!

All clicky, no sticky!

How To Remove Library Folders From This PC In Windows 10/11

I’m one of those weird people that doesn’t really use the standard library folders that come in Windows (or MacOS, for that matter), but while I can easily customize Mac’s Finder menu to not list the libraries I don’t use, customizing the Windows Explorer menu is less straightforward. I like opening new instances of Explorer to the Quick Access view where I have all my attached drives, commonly used libraries (Downloads, Desktop, and Documents), and mapped network drives available at a glance. I also have locations for files synced across my devices and the Recycle Bin pinned to the menu, giving me ahem quick access to these commonly-used locations. Because of this setup, the stock “This PC” listing is redundant–listing many of the same locations twice and taking up precious screen real estate. As such, I wanted to customize this menu as much as possible with the hope of getting it similar to my Mac’s Finder sidebar menu.

Editing the Registry

The Windows Registry holds all the power under the hood in the Windows ecosystem. The problem is that it isn’t always clear what registry key values affect what parts of the OS. Fortunately, a little Google Fu is all that is needed to find the appropriate changes to make. First, open the Registry Editor by launching regedit from the Run (WIN+R) dialog. In the Registry Editor, navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions then locate the appropriate folder according to the GUID key list below and expand the folder to show its nested PropertyBag folder.

  • Desktop: {B4BFCC3A-DB2C-424C-B029-7FE99A87C641}
  • Documents: {f42ee2d3-909f-4907-8871-4c22fc0bf756}
  • Downloads: {7d83ee9b-2244-4e70-b1f5-5393042af1e4}
  • Music: {a0c69a99-21c8-4671-8703-7934162fcf1d}
  • Pictures: {0ddd015d-b06c-45d5-8c4c-f59713854639}
  • Videos: {35286a68-3c57-41a1-bbb1-0eae73d76c95}

With the appropriate PropertyBag selected, right-click the ThisPCPolicy value in the main pane and select Modify. Change the value from Show to Hide, then click OK. Conversely, to re-show a particular folder, just change the data back to Show.

In some cases, ThisPCPolicy doesn’t have a defined value in the PropertyBag. In these cases, right-click on the main pane and select New > String Value, naming it ThisPCPolicy. Then set the value appropriately.

Enabling The Libraries Folder

For convenience sake, I do like to have access to the Libraries–just not at the top of the list. You can enable the Libraries folder in the sidebar menu through Folder Options in Windows Explorer. The check box is located under the “Navigation Pane” header below the View tab.

Putting things together like this makes Windows Explorer rather usable at this point!

Putting Together An Ubuntu Theme For Windows Terminal

Windows Terminal has proven to be one of my favorite additions to the PC world in a while. Coming from the Linux and Mac paradigm for the last decade-and-a-half, I felt like I needed a capable terminal emulator if I was going to be running a Windows machine as a daily driver again. Of course, the Windows Subsystem for Linux (WSL) just makes me giggle with glee at being able to run Ubuntu at the hypervisor-level instead of using virtualization software like VMware to do the handful of specialized tasks that I would easily perform in a Mac/Linux terminal window.

Of course, if you’re going to have a modern terminal emulator, you need to be able to customize it. Under MacOS, I was rocking a classic green-on-black look that reminded me of playing Zork on an Apple II and was great for getting that “digging around under the hood” vibe. I’ll probably bring that look back for one of my specialized terminal implementations (maybe the dedicated Telnet profile I’ve set up for dialing into the occasional BBS), but for the Ubuntu profile, I wanted something that evoked the orange and purple color scheme that I’ve come to associate with my distro of choice. These colors aren’t exactly the official “on brand” colors that Canonical uses, but they get the idea across.

In Windows Terminal, you can access settings.json from the Settings tab and add the following data to the schemes section:

{
            "background": "#3C0315",
            "black": "#282A2E",
            "blue": "#0170C5",
            "brightBlack": "#676E7A",
            "brightBlue": "#80C8FF",
            "brightCyan": "#8ABEB7",
            "brightGreen": "#B5D680",
            "brightPurple": "#AC79BB",
            "brightRed": "#BD6D85",
            "brightWhite": "#FFFFFD",
            "brightYellow": "#FFFD76",
            "cursorColor": "#FFFFFF",
            "cyan": "#3F8D83",
            "foreground": "#FFFFFD",
            "green": "#76AB23",
            "name": "Ubuntu",
            "purple": "#7D498F",
            "red": "#BD0940",
            "selectionBackground": "#FFFFFF",
            "white": "#FFFFFD",
            "yellow": "#E0DE48"
}

Once you get this inserted, you should be able to select “Ubuntu” from the Color Scheme drop-down under the Appearance tab in your Ubuntu profile, and you’ll get a terminal that looks like this:

Ubuntu color scheme in Windows Terminal

Now that we’ve got the colors all set, we just need to add a custom icon to complete the look. I just grabbed a transparent *.png of the Ubuntu logo and converted it to an *.ico file. I’m weird in that I don’t really use my library folders the way they’re intended. I keep photos on my server, so I don’t have much use for the Pictures library folder. As such, I use the folder for “system” images like custom icons, profile images, and wallpapers. I just dropped the icon into the folder and pointed my Windows Terminal profile to it. Now I’ve got a terminal implementation that reminds me that I’m running a separate operating system on top of Windows and isn’t just another basic grey/white-on-black (that look is reserved for CMD and DOSBox).

The Zombies Are Getting Restless: Thoughts on Resident Evil 3

There honestly isn’t a lot that I can say about Resident Evil 3: Nemesis that isn’t a rehash of my own thoughts and experiences on the first Resident Evil game. I never got into the franchise when it was new as I’ve never been very interested in zombie fiction or survival horror in general, so I didn’t play any of the Resident Evil games until very recently. I’ve actually owned a copy of RE3 for many years, and–in fact–I really don’t recall how I came across it. I certainly didn’t purchase it myself, so I likely somehow picked it up during some “mergers and acquisitions” in the mid aughts. It was only when I played through the first Resident Evil on the Playstation Classic that I got a taste for what the series is all about: it’s a classic text-based puzzle and resource-management game that just happens to take place in a pre-rendered graphics zombie apocalypse.

Give us a smile, baby!
Nemesis will be played by Robert De Niro

Resident Evil 3 is somewhat less linear and certainly more action-oriented than the original. Of course, I can’t tell for certain if this is a trend or just a difference between the two games as I have not played Resident Evil 2 yet. In RE3, you take control of Jill Valentine (from the first game) in an effort to escape the zombie-infested Raccoon City before it’s liquidated by a nuclear weapon. During the course of your escape, Jill is pursued and ambushed by a gigantic mutant known as Nemesis. There’s not much of an explanation as to who or what Nemesis is, except that he just looks like a rejected costume design from the 1994 Frankenstein movie. Unfortunately, these scenes with Nemesis are probably the most interesting parts of the game as the rest consists of tedious fetch quests, occasional jump scares, and very few actual puzzles. There are some interesting timed decision sequences where the player’s choice determines how the next part of the game plays out, but these are too few and far between to make up for the overwhelming boredom in the meantime.

Unfortunately, the difficulty curve doesn’t fare much better than the rest of the gameplay. The original Resident Evil had what felt like a nicely rising difficulty curve, but Nemesis seems to have an inverted curve where the game gets infinitely easier the closer to the end. The first major challenge in the game is the initial encounter with Nemesis where Jill is equipped with only a pistol and has to duck and dodge to avoid being grabbed (impaled by Nemesis’s tentacle arm?) and immediately killed. This title introduces a new dodge mechanic that has to be practiced to get right, but there are so few encounters before Nemesis that a player has no real opportunity than to learn during the boss fight. It’s lazy and sloppy design on Capcom’s part, causing more game overs than I care to recall. After that, though, the game is smooth sailing–especially after finding the grenade launcher.

He's even got a beret!
Jill Claude Valentine Damme

In a lot of ways, Nemesis reminds me of the 1999 film Universal Soldier: The Return wherein Jean-Claude Van Damme is chased around the suburbs by the cartoonishly superhuman Bill Goldberg in much the same way Nemesis pursues Jill Valentine. Each encounter with Goldberg/Nemesis consists of a brief battle ending with JCVD/Valentine getting the better of their enemy through either superior firepower or–occasionally–a clever trap. Unfortunately for Capcom, I feel like Universal Soldier had the more entertaining sequel. Granted, there are a few novel components to the game–like when Jill gets poisoned and her new friend/ally/potential romantic interest Carlos has to locate an antidote–but the over-reliance on (occasionally branching) fetch quests instead of puzzle mechanics drags this game down to the bin of mediocrity. It’s an important piece of the overall Resident Evil mythology, but unless you’re a big fan of the franchise, I would stick with the original.

Your Mission Should You Decide To Accept It: Reflections on Mission: Impossible (NES)

Mission Impossible NES box art
This cover screams spy action, and it doesn’t disappoint!

When I was a kid, I was obsessed with everything that had to do wish espionage and spycraft–that whole fantastic world of cloak and dagger–primarily because of James Bond. I was a Bond fan from a very early age because they were routinely broadcast on TBS, so I got to experience the films and enjoy them on a fairly regular basis. My interests branched out from there into things like those children’s science experiment kits–the ones that would show how invisible ink or fingerprinting or Morse code worked–and there was trading cyphers and setting up “treasure hunts” with my friends, coming up with clues and hiding them around the house, anything that would allow me to pursue the fantasy of the secret agent. Because of this, I knew about Mission: Impossible (the television series, as this was well before the Tom Cruise film), but it sort of existed as a cultural meme–I wasn’t really intimately familiar with it like I was James Bond, though, as it wasn’t something that was on my “cultural radar” at the time (if it didn’t come on TBS or if it wasn’t a cartoon, it practically didn’t exist in my world)

Fast-forward a couple of years, and I’m browsing the Nintendo aisle at Toys R Us when I find that there is a Mission: Impossible game for the NES. Of course, I still know nothing about the franchise except that it’s basically an American James Bond, full of action and spycraft, and I knew that I had to experience it! Like so many other kids of the era, I was completely sold on the game by the cover art alone. It screams action and intrigue! However, apparently unlike many of my peers, I actually like the game! It’s an action game, but it’s not super actiony. It’s actually a fairly “slow” game, incorporating more puzzle-solving and exploration elements along the lines of The Legend of Zelda than the twitchy platforming of Ninja Gaiden. The game is even projected top-down, so it is very much like Zelda except with spying–which makes it awesome. On top of the puzzle-solving elements, you have a character select mechanic like one of my other favorite titles of the era, Teenage Mutant Ninja Turtles, which I thought was awesome because I could play as my newly-adopted favorite character Nicholas Black. Of course, I had no idea that hot-swapping characters was part of the game’s strategy, I just thought it was awesome that one of the characters was a “master of disguise”, was an Australian who carried boomerangs (Crocodile Dundee was one of my absolute favorite movies at the time), wore glasses like I did, AND WAS A FREAKING SECRET AGENT!!! Of course, I never made it very far with Nick by himself, and I learned to begrudgingly use Grant and (ugh!) Max for specific actions in the game.

Mission Impossible NES
The snow this year is better at Innsbruck (but not at San Mortiz).

Despite the difficulty of the game, I always enjoyed playing it. There’s a very focused puzzle-solving mechanic to the sprawling level designs, and I feel like that helped keep my interest in the game piqued over the years. The game is definitely a puzzle adventure first and an action game second, much like its Konami predecessor Metal Gear (M:I was published in the USA by Ultra Games, an “alternate label” that Konami used to get around restrictive quotas set by Nintendo). Mission: Impossible definitely borrows from Hideo Kojima’s masterpiece, but does so in a way that doesn’t feel like a cheap copy. The gameplay is slower and more deliberate with fewer boss battles or run-and-gun opportunities, but you get a sense of the pedigree that M:I inherits: it’s an interesting mix of Metal Gear, The Legend of Zelda, and Teenage Mutant Ninja Turtles that shines as its own clever, if underappreciated, title on the NES.

Mission Impossible
Two hits and you’re dead. Avoid at all costs.

As much as I personally enjoy the game, it seems that many of my peers do not like the way that Mission: Impossible plays. It is a difficult game, but it is generally not an arbitrarily difficult game in the way that titles like Ghosts n’ Goblins or Ninja Gaiden are. The difficulty of Mission: Impossible lies in its tight tolerances for success–the need to proceed with precision and finesse rather than nimble reflexes–much like Zelda II. Enemies generally do not respawn over the course of a level, and there are ways to navigate around most encounters without taking any damage. Unbeknownst to my younger self, the biggest strategic advantage in the game is knowing which character to use when–each has his specific skills and abilities that make him uniquely qualified to proceed through specific areas. In this way, the game plays more like The Lost Vikings. If you approach the level with the mindset of getting all three agents through the level alive (rather than as three chances for one character to make it through), then the connection to the game’s source material becomes more apparent. The Impossible Mission Force has to work together to complete a mission. Grant is the electronics expert that can break locks, Nick can use his disguises to sneak past impassable gauntlets, and Max is the marksman who can take out enemies before they see him! The game requires practice to get each level’s “choreography” right, but the game doesn’t punish you too badly for failure. There are unlimited continues, though you are reset to the beginning of the level (which can be quite frustrating during very long sequences like levels 3 and 6), and the level design rewards exploration despite the dangers faced. Admitted, to finally finish the game, I used save states on my NES Classic Edition. The game is still quite difficult, but this took a little bit of the sting out of trying to complete the final level (which, I will admit, suffers from the worst game-lengthening cop out: the “Uh-oh, now you have to play this super difficult level all over again!” trope), and allowed me to continue to enjoy a childhood favorite since adulthood tends to rob me of that precious practice play time.

Honestly more fun than the time Bond did it
Nothing says “action” like speedboats and machine guns in Venice!

Of course, every good spy thriller needs a chase sequence, and Mission: Impossible does not disappoint! There are two “chase” levels that evoke the action one would come to expect in such a genre–one in a speedboat and one skiing downhill–and they provide a deliciously novel break from the slower-paced stealth action of the main game. I would often jump to these levels using their respective passwords when I felt like a quick arcade-style distraction without commitment–great for commercial breaks or between homework assignments! These different gameplay elements help to complete the feel of a great piece of spy fiction while Jun “Dog-Man” Funahashi’s banging soundtrack reminds the player that this is definitely a Konami title.

Mission: Impossible is not Metal Gear, nor does it really pretend to be. The latter is definitely the OG granddaddy of the stealth action genre, but M:I stands on its own as a fine entry in the Konami catalog. It’s a cleverly designed homage to spy fiction, and honestly plays more into those tropes than contemporary platform action games based on the James Bond franchise. There are puzzles to solve, chases to be made, sneaking to be done, and worlds to save. If you’re a fan of either Metal Gear or The Legend of Zelda, I would give it a shot. You might be surprised by this undercover gem.

Single Stage, Single Channel Phono Preamp With Power Supply Schematic

As I explained in the How Hard Could It Be? video, the first objective in getting sound out of a record player is amplifying the phono-level signal from the tonearm (about 5mV) up to line-level (1V). This pre-amplifier stage uses a low-noise operational amplifier to boost the signal to the appropriate level. For Project Califone, I’m building the preamp stage using a Texas Instruments NE5532 OpAmp chip. Of course, I was having a little bit of trouble getting the device to work because I neglected to realize that I needed to apply both a positive and a negative voltage to the chip in order for it to function.

After realizing my mistake, I sourced a 10:1 AC-AC transformer that I could use for prototyping purposes. From the wall, I can get down to a manageable 12VAC and with a simple rectifying circuit, split that into +/-12VDC. I will have to adjust the power supply circuit to account for the 30VAC output from the transformer already installed in the phonograph, but that is a problem for another day!

Single Stage Single Channel Phono Preamp With Power Supply

At this point, I have a minimum-viable amplifier circuit for a single audio channel. Note in this schematic that there is no resistance on the input signal, so there is effectively no gain control at this point. The signal is horrendously over-driven–and when piped through the main amplifier becomes so over-modulated that even Luigi Russolo would shiver–but it works! From here, it’s a matter of adding some resistors to control the gain before feeding the output to a single-knob tone control, the second pre-amp stage, then the main amplifier.

DIY Phonograph Preamplifier – How Hard Could It Be?

Like many of our hosts, Matthew is an aficionado of vintage technology. In this project, Matthew is completely rebuilding a Califone 1400 series portable phonograph from the early 1980s to improve its playback quality. The first obstacle he has to overcome is rebuilding the preamplifier circuit to bring the raw phono signals from the tonearm up to RIAA line level, but he’s having a little trouble with the op-amp chip. How hard could it be to build a simple preamp from scratch?


I had taken a bit of a hiatus from production (as I discussed in the last Surf Report), due to both a sense of being overwhelmed by my new day job and a general lack of enjoyment in the process. Building things became a job, and it stopped being enjoyable for a time. 2021 gave me an opportunity to reflect on my own goals, and I ended up scratching hundreds of projects from my list that I knew I would either never finish or had no interest in pursuing. I’m still culling that list, but the Califone stands firm. I’m still working on it, but I’m doing it slowly and on my own terms.

In an effort to get me back in the rotation on element14 Presents, the Producers and I agreed on this smaller-format video, showing a chunk of the project in the detail that I like to provide. It’s part of a new Friday series that highlights more conceptual projects, asking How Hard Could It Be? and following the trials that go into a simpler idea. In this case, I needed to build a phono-line preamplifier for the record player from scratch, and I made a fatal error along the way. The idea is to highlight how everyone makes simple mistakes and that it’s okay to ask for help.

The video was a nice transition back into work-for-hire and a way for me to warm myself back up for the next stage of the project. Now that I have a basic design for a power supply and preamp, I can get started on breadboarding a class-D main amplifier so these parts won’t have to spend another year on the shelf!

Mastering Two Elusive Windows Entertainment Pack Games: Spider Solitaire and Minesweeper

In the mid-90s, I was very much a console gamer. OG Nintendo, to be more precise. I was knee-deep into games like The Legend of Zelda and Super Mario Bros. 3. My folks bought a second-hand 286 DOS machine when I entered middle school so I would have access to a computer, but in 1995, it was already woefully outdated with the only real games available being the handful of titles that were already installed (shout out to Mixed-Up Mother Goose) or whatever might be found in the bargain bin at the local computer store (Street Rod 2 FTW!). With Windows 3.11 and 95 being adopted across the market, I was enamored with games like Chip’s Challenge and SkiFree on the occasions that I got to play around on a relative’s machine. When I got my first “modern” computer in high school (a Pentium 75 from Micro Center running Windows 95), I took little time attempting to “catch up” with my PC gaming peers: Quake, Duke Nukem, and Command & Conquer became my lingua franca for a couple of years. When America Online and The Internet came along in the late 1990s (my AOL journey is a story for another day), I would tie up the phone line for hours trying to download a 30-second RealMedia video clip over 56kbps. Unfortunately, attempting to kill time by playing some of the “better” PC games would necessitate severing the connection due to the RAM requirements, so I became intimately familiar with the built-in Windows games like Freecell, Minesweeper, and–my favorite–Spider Solitaire.

Thirty-five minutes of careful planning, testing, and undoing to get it right.
For great justice!

Spider was always a fun diversion for me, but I never really played higher than the easy level with one suit. This was a diversion, after all, so I only really needed to steer my attention away for 5-10 minutes at a time, and the easy level could allow me a quick game while still being able to catch The Daily Show with Craig Kilborn while downloading the latest video weirdness from Consumption Junction or loading that week’s SomethingAwful Photoshop Phriday post. Spider is one of those interesting solitaire games that evolves in complexity as you add more suits to the deck, culminating in an extremely difficult 4-suit deck that causes dead ends at nearly every turn of a card. It’s a challenging game, and I nearly forgot about it for years until I rediscovered it on Android. For a time, I would play during any spare minutes I had–usually before bed–until I finally worked my way up to a 4-suit game. It’s a great challenge, and after an unusual hot streak, I finally managed to win a game at this hardest difficulty!

Slow and steady wins the race. Think of the children that could've stepped on a mine you missed!
CONGLATURATION! YOU HAVE PROOVED THE JUSTICE OF OUR CULTURE!

Like Spider, Minesweeper was another Windows game that I would dig into while I was waiting on documents to load during those bygone days of the early Internet. Minesweeper was a strategy game for those times when I felt like I needed a little more tension. It’s not as difficult a game as Spider considering that it (usually) gives you all the information you need to locate the mines in the form of those colorful numbers that populate the board. Again, I usually only played at the easy level because I was lazy and because I only needed to kill so much time (my long-term gaming sessions were populated by favorites such as C&C Red Alert and X-Wing). Also again, I rediscovered the game on Android after a years-long hiatus due to my concentrating on aspects of life outside of video games (2006-2016 found me in the throes of what I would refer to as “Survival Mode” wherein I would not have much in the way of gaming time) and I made it a point to dig in and complete a game on the hardest available setting. I actually forgot how much I enjoyed great puzzle games like Minesweeper, and I’ve been enjoying diving into others that I have in my collection like BoxyBoy and Donkey Kong ’94.

I know that both Spider and Minesweeper seem to be fairly easy games to program, and I’ve been on a kick to sharpen my coding tools. As such, I’m going to add developing my own versions of these games to my project list. I’ve always learned programming languages best by following models and learning the mechanics of the code as I go, so I’ll be using an iterative format to develop my own applications over time. My goal is to document the development of both applications as I go so that I’ll be able to reinforce the skills I learn as well as provide a reference to anyone else that may want to learn how to develop their own versions of these classic games. It’s a little exciting to finally learn the mechanics behind these pieces of my own history, and I hope to gain some practical knowledge that I can use on later projects that I have planned!

Embracing The Weird: Reflections on [The Legend of] Zelda II

I Am Error. You should meet my friend Bug.
Contrary to popular belief, this is the intended text.

What can one say about a game developed nearly 40 years ago that hasn’t already been said in the year 2021? Despite literally everything possible being said about this title, I’d like to put in my own two cents. It’s an interesting piece of gaming history, and–if you will forgive the tired trope–really not as bad as people may think. Perhaps if it had been allowed to evolve the way it had initially been constructed, we would be talking about it in an entirely different context. The game, of course, is Zelda II: The Adventure of Link. Not “The Legend of Zelda II”, mind you, but simply “Zelda II” which is strange, and–apparently–only because of the habit in the era for games to have short titles. Of course, there’s also the habit of the “cool kids” to shorthand titles as an indication of their savviness, so the two phenomena probably played into each other. The second entry in the Legend of Zelda franchise–beyond its chosen nomenclature–is a strange duck that exists the way it does mostly due to the experimental nature of Nintendo in the 1980s combined with their cautious growth in markets outside of Japan.

Now you're playing with power!
Compton’s was basically this design, but a store.

It may come as some surprise to people that know me that I did not really grow up playing Zelda II or, really, many of the Zelda franchise games beyond the first one. My only real experience with Zelda II prior to my adulthood was playing this “strange game” at Compton’s World of Nintendo–an independently-owned Nintendo boutique at Town Center Mall in Kennesaw, Georgia. Walking into Compton’s was like walking into a Nintendo advertisement: all very geometric, black and grey decor like the design of the promotional posters that came in those early cartridges punctuated with a few of those sparkly fiber-optic “World of Nintendo” signs for good measure. The store sold all the latest releases along with every kind of licensed ephemera imaginable, but the real draw were the 3 Nintendo M-82 demo kiosks near the front entrance. At Compton’s, you could choose from a maximum of thirty-six different video games–ALL FOR FREE (versus the couple dozen games at either Aladdin’s Castle or Jolly Time that each cost at least a quarter a pop), so for an elementary-school-age kid without an NES, it was an experience to relish! It was here that I had a lot of my first experiences with Nintendo, a year or so before my parents bought one, and the one that still stands out in my mind is Zelda II.

I still kinda want one of these signs.

I had played and enjoyed The Legend of Zelda on occasion with friends, and I really wanted to get into Zelda II, and I would play it any time I was at the mall despite the fact that it may have been the most confusing thing I had played since attempting to play Gyromite without the benefit of R.O.B. Of course, playing at Compton’s, I lacked the luxury of Nintendo Power–or even just an instruction manual–so I was flying blind trying to apply what I knew about TLOZ to this side-scrolling environment with towns and semi-random encounters.

At its most basic, Zelda II, appealed to me at a visual level and the strangeness intrigued me that I wanted to understand it. Here was this strange game that was so visually different from its predecessor that didn’t play anything like its predecessor, but it was such a visceral experience from the very first screen seeing Link as a full-size person and Zelda lying there in the background. You immediately know what the objective is and what the stakes are, so you leave the palace and you’re back on the familiar top-down screen, but the baddies appear randomly, and you try to strike them with your sword when–BAM! You’re in a side-scrolling environment and everything is different and you can’t reach the monsters with your dinky little sword, and you can’t jump very high, and things are coming at you from every direction when you try to run away. If you’re lucky, you’ll get away, then try to go in that cave to find a better sword, but you just get killed by some invisible enemy in the dark, and then the machine resets because your time is up, and you just stand there confused thinking the game itself has conspired against you (games cheat, you know). It’s just a very, very different experience, and to a little kid, I think it was something more interesting in concept rather than in practice.

I finally broke down and bought my own copy at the SoCal Retro Gaming Expo a few years back.

Side note: I think a lot of things that I get myself involved in are more interesting in concept than in practice. For example, I like to think of how nice it might be to have certain things exist or I romanticize certain concepts and want to will them into existence, but doing so points out all the various reasons why that concept doesn’t work in reality. Nevertheless, I persist in making this thing exist and I enjoy the process and the end result for some time. I feel like this is what Zelda II is for me: a very interesting concept that promised to be an immersive experience (with the leveling system and world building), but in practice it was just a beast. Of course, not knowing the reality, I did want a copy so that I could properly play it through. Unfortunately, I wouldn’t have an opportunity to get a copy for some time because there were so many games that caught my attention over the years–especially licensed titles–and when you only purchase at most 1-2 games per year, you have to be more discriminating!

Since I could never wrap my head around Zelda II, I didn’t pay much attention to it until I was in high school in the late 1990s. The Nesticle emulator had just landed and I, again, tried to trudge through Zelda II before rage-quitting to savestate-grind my way through Batman. Around the same time, Funcoland opened a store in Austell and I quickly became a “retro gamer” and “retro enthusiast” before such a concept really existed. I was cheap, and new games were expensive, so I would drop $20 a Funcoland and walk out with a stack of 2600, NES, SNES, and Genesis carts (since the PlayStation and N64 debut in 1995, even Genesis was already considered “retro”). There were still a few titles that held their values, among them were Super Metroid, Ecco The Dolphin, and Zelda II so even at Funcoland in 1999, these titles commanded obscene amounts of money!

GameStop could burn for all I care if it meant getting FuncoLand and Electronics Boutique back.

With the release of the NES Classic Edition, I finally had a real chance to play this confounding title start-to-finish (and with an instruction manual and archived copy of Nintendo Power to help)! Naturally, I was very frustrated by the game. Many reviewers will point out that Zelda II is not a “difficult” game, per se, but that it is very unfair. I’m inclined to agree with that assessment in that it’s not a very skill-intensive game once you’ve learned the mechanics and know where you’re going, but there are a lot of design choices that make it “unfair” to the player. Design choices like placing specific enemies in specific places that make it difficult or impossible to attack without taking damage or concentrating magic-draining enemies in dungeons where a lot of magic is necessary to proceed. Of course, the most heinous drawback is the “Game Over Return To Start” mechanic that forces the player to traverse the entirety of the game map (and it’s a big map) to return to a dungeon in progress. Such a setback is arbitrary and inexcusable other than for the fact that developers were trying to squeeze as much playtime out of titles as possible back then (hence the description “Nintendo hard”). The Classic’s save states served as a balm to soothe some of the frustration by eliminating those arbitrary design choices, making the game much more enjoyable while no less challenging.

Unfortunately, there are some so-called “purists” out there that will balk at my use of save states, saying that I “cheated” because I didn’t “beat the game as intended” or that my experience was somehow hollow because I didn’t have to practice for months to pass a very particular section or that somehow I’m not a “real gamer” because I didn’t beat the game “fairly”. These sad people will look for excuses to decry someone else’s enjoyment of “their” activity simply because it is a different experience than what they deem “correct”. To them I want to remind that each experience is unique and that each individual has goals and desires that frame their enjoyment (or non-enjoyment) of a particular activity. If I enjoyed the process of playing the game–even if I used some handicaps–is that not cause for celebration? We, as a society, often spend too much time looking for ways to separate ourselves that we don’t celebrate our similarities. Gatekeeping is anathema to joy, and I prefer to celebrate shared experiences rather than waste energy attempting to discredit them. Zelda II is an unforgiving game with very tight tolerances in many sections that can become frustrating and not-fun very quickly, but using modern tools to build in a little bit of slack makes the game approachable, enjoyable, and keeps it relevant to newer audiences.

So Zelda II is an interesting title within the franchise, and as such, a lot of people refer to it as a “black sheep” or misfit. And while it is a sharp departure from the pilot entry of the series (and, in hindsight, even those that came after), I think that these people do so because they’re missing a lot of the context that comes into play when we discuss Zelda II as part of the overall franchise. When the Famicom and NES were really starting to gain popularity, the home video game industry was still in its early stages. As such, Nintendo was still being very experimental with their approach to game design. Shigeru Miyamoto was really playing with this new medium and coming up with all kinds of novel designs based on relatively simple game mechanics. These game concepts were entirely new and many of them became the archetypes we look at historically when describing many modern games: the side-scrolling platformer embodied by Super Mario Bros. and the top-down adventuring dungeon crawler that became The Legend of Zelda.

Tadashi Sugiyama

Miyamoto also had a team helmed by director Tadashi Sugiyama playing around with a side-scrolling, sword-and-sorcery RPG that borrowed elements from tabletop games like the ever-popular-at-the-time Dungeons & Dragons. This would be a game that really leaned into the sword mechanics, enabling a player to strike high and low, block, and use these novel upward and downward strikes to progress through the game. Sugiyama’s team developed this concept while Miyamoto personally worked on what would become The Legend of Zelda with Takashi Tezuka. The two games developed alongside each other through the mid-eighties with TLOZ being released in 1986.

The next part of the story is a bit fuzzy: there are reports that say that Miyamoto wanted a new and completely different game for the sequel to the wildly successful first Zelda game, and there are reports that say that Nintendo decided to shoehorn Link, Zelda, Ganon, et al into the sword-and-sorcery title already in development to capitalize on the popularity of the Zelda franchise. Considering the fact that both games were already in development at roughly the same time and that Miyamoto did not actively take part in its development, it is my opinion that the game that became Zelda II was originally slated to be its own independent franchise similar to Kid Icarus or Metroid. Lending credence to this theory, Sugiyama himself stated in an interview with Nintendo Everything that

Rather than being a continuation of the series, it started as a new sword and shield type of action game. We were experimenting while producing the game so we didn’t really have the first game’s systems in mind while developing it. As for it being unique within the series, we were searching for new ways to play so you could say it’s like a spin-off. At the end of development we decided on a story and that Link would be 16 years old then attached [The Legend of Zelda 2] and released it as the second game in the series.

I think that it would have been interesting for this “sword-and-shield” game as its own entity and really explore its own world with its own mythology instead of the sloppily-retconned notion that the Zelda from the first game wasn’t the actual princess (“Sorry, Link, but our princess is in another title”). In hindsight, it did perform very well and established some extended mythology for the Zelda franchise. There is a lot of Zelda II’s DNA in later titles with character names and musical cues alluding to the franchise’s “black sheep”, but I also think that had it not been saddled with the legacy of the first game, it could have received better reviews without the burden of comparison. Since it was developed as its own game, it’s really not fair to compare Zelda II to the original. It’s not a top-down Zelda game, but it was never meant to be, and without that comparison, Zelda II is actually a pretty solid classic Nintendo title.

I think that if Zelda II had been released as its own franchise pilot and allowed to really stand on its own merits, we would very likely be having different conversations about it. We certainly would not be talking about it in the context of the wider Zelda franchise, and, I think, a lot of the hate that it receives wouldn’t exist. It’s entirely possible that this hypothetical game could have spawned one of the great Nintendo franchises–its leveling system combined with powerup collection placing it somewhere on the spectrum between Metroid and The Legend of Zelda–instead of a misfit, RPG-like entry along the lines of Castlevania II: Simon’s Curse. It’s a worthwhile play, and correcting for the obscene, arbitrarily difficult elements, it’s a lot of fun!

How To Detect Browser User Agent And Add Mobile Website Support

There remains one major problem with the application as it stands right now: when viewed on a mobile browser, the animation breaks down and the viewer window causes undesirable effects such as rescaling the page. As such, we’ll need to tweak the operation just slightly for mobile browsers (this wasn’t such a problem in the 1990s and early 2000s, but with most web browsing done via mobile, it would be dumb not to account for the difference.

iteration7.html

<script>
$(document).ready(function(){
       detectUserAgent();
    });
</script>

In the main HTML file, the only change we’re going to make is calling a different function from our JS file. In this case, it’s a function that will detect the user agent, letting the application know whether to run the desktop or mobile version of the app.

iteration7.js

function detectUserAgent() {
    if ((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/Android/i))) {
        location.replace("mobile.html");
    }
    startplayer();
    }

function startplayer() {
    $.getScript("videofiles.js", function() {
        });
    makebox();
    }

In the JavaScript, the new detectUserAgent() function queries the navigator.userAgent object to see if it contains the string “iPhone”, “iPad”, or “Android” which would indicate a mobile device and browser. If one of those strings is found in the object, then the current page is redirected to “mobile.html”. Otherwise, the startplayer() function is called.

In the startplayer() function, we use the jQuery getScript() method to load another JS file within the script as running. In this case, it will load the “videofiles.js” file that now contains the addresses array.

The “mobile.html” file works exactly like the main HTML file, except that it now refers to a slightly different JS file, “mobile.js” that contains the changes we need to make the mobile version work.

mobile.js

function makebox() {
    $(".window").click(function () {
        video = $(this).css("background-image");
        video = video.slice(32, -6);
        window.open("https://www.youtube.com/embed/"+video, '_blank');
    });
    $(".window:not(:animated)").each(function() {
        addy = (Math.floor(Math.random() * addresses.length));
        $(this).css({"top": Math.random() * window.innerHeight - 290+"px","left": "-"+Math.random() * 740 - 740+"px","background-image": "url('https://img.youtube.com/vi/"+addresses[addy]+"/0.jpg')", "border": "10px solid", "color": getRandomColor});
        $(this).animate({left: "2000px"}, Math.random() * 15000 + 15000, makebox);
    });
    }

We only need to make two major changes to the makebox() function to make it work on mobile: First, we need to make sure that we define all animations by pixel distances instead of screen widths. The percentage screen width method of measurement does not work correctly on some mobile browsers and can cause the flying windows to rescale themselves when they reach the right edge of the screen.

window.open("https://www.youtube.com/embed/"+video, '_blank');
Second, instead of a viewer div playing an embedded YouTube video, we’re going to open the video in a new tab. We’re still going to use the embed version of the video, though, to avoid having the full YouTube player page load (which would also be undesirable).

From this point, we just add an appropriate background video to the HTML file body using the background-video CSS property, some appropriate MIDI music using the MIDIjs JavaScript library (midijs.net), and a few navigation buttons, and the application is ready to go!