Osaka Cool

March 26, 2019

Today, we were going to visit my favorite city in Japan: Osaka. Don’t get me wrong, Tokyo is cool, but Osaka is cool.

Not only is Osaka cool, it’s also delicious. Osaka has garnered the well-earned reputation of being known as “Japans-kitchen,” and I whole-heartedly agree. This city is a culinary wonderland home to some of the best food in the world.

…But first, we had to get there.

The main street in Kyoto outside of our hotel in the morning

Osaka is very easy to get to from Kyoto – The two cities are only about thirty minutes apart and there are several train lines that go between the two. I simply punched-in where we wanted to go into Google maps, selected the route that preferred JR lines, and bam. Local trains leaving from Kyoto station that would take us directly to Osaka station. Easy.

After hopping on a few quick subways down towards Kyoto Station, we soon arrived and began looking at the time-tables for the fastest train to Osaka. This was also the first time Abbie got to see the immense glass roof at the front of Kyoto Station – it really is a sight to behold.

Photo Credit. Kyoto Station looks like this! In my haste, I didn’t grab a photo.

A quick (and crowded) standing-room only train ride later and we were in Osaka. This little local line is really great if you want to see a little bit of the semi-rural/industrial split between Osaka and Kyoto. It takes you over big rivers, gives you a view of Kobe from a distance, and even takes you through a bit of both cities. Once we arrived in Osaka, Abbie pointed out that every major station is essentially just a big shopping mall and yes, this is in-fact the truth. Nearly every major train station in Japan is its own metropolitan hub and Osaka was no exception. In front of us was a MASSIVE wall of shops and restaurants going up as far as the eye could see. Somewhere in that massive wall of shops is another Pokemon center… we’ll see if we can find it later. For now though, let’s find our next accommodation.

All we had to do was take the local Osaka loop to our destination station. Thankfully, this local loop is operated by JR, so we can finally use our rail passes again. Kyoto operates with many different private rail companies, meaning that it gets a little pricey to move yourself around even if you have a JR rail pass.

This little local loop is similar to the Yamanote line in Tokyo. Each train takes you all around the city. Since our stop was at the complete opposite end of the city, it gave us a chance to take in a few of the sights. I love Osaka – it’s got a certain charm that you can’t really find anywhere else. That perfect blend of old and new. It’s like Jazz Fusion (playing in the music video above), but in city-form.

Eventually, we arrived at our destination station (that sounds like a cool band name). It led straight into another shopping arcade. This time, it was a bit more “local.” Less crazy flashy shops, a bit narrower, a bit older. There was lots of local produce for sale as well as tons fresh-caught fish. This was more of a grocery arcade where local growers and farmers sold their goods. Everything looked so fresh. We had to drop off our bags before we did anything, though. They’re a real nuisance in the streets of Japan.

After a little bit of wandering around through the local neighborhoods, we found our destination. This time, it was going to be an AirBnB-type accommodation. Our own little apartment in the middle of Osaka for the next few days. Last time I visited Japan, I stayed in an apartment for just one night and it was AWESOME. Not only do you get way more room in general, but you get all the accommodations of a real home AND they’re usually far cheaper than hotel rooms. There is a bit of a risk when booking things like this though, as you never know if an AirBnB could cancel on you or not (plus there are no refunds once you are booked!), but if you play your cards right, it’s a real treat.

After faffing about for about 30 minutes trying to figure out what our door unlock code was (they never sent it to me, so I had to wait for them to reply to my request for it), we were finally in. Whoah. This place was awesome! So much space!

What did we decide to do during our first-night’s stay? Order pizza and do absolutely nothing. It sounds like a waste of a day, but this is the best part about traveling without any real schedule. Do whatever you want. Tired from all the traveling around? Take a day off to recharge. Why did we decide to go with pizza for our first meal within “the kitchen of Japan?” Well, think of it this way: Japan has some of the best food in the world. Taste is subjective, but let’s be real, Japan has objectively fantastic food. BUT. It’s all “Japanese food.” While this seems self-evident, let me explain: In America, we’re super spoiled for choice when it comes to flavor variety. The same diversity that gives us a unique blend of cultures and people also gives us near limitless choices for flavor. But here, nearly all food has that same Japanese taste profile. It’s wonderful, but it’s akin to going to the same restaurant every single day. Eventually, you crave something with a different texture and flavor profile. That’s what these pizzas were for. Something a little bread-y, salty, pizza-y to cleanse our palette to prepare for Osaka’s brilliant cooking.

…And they were awesome, too.

These pizzas were so good. I love Japanese style pizza so much. One thing that caught me off-guard though: the price. Wow, these two tiny pizzas were $50, Jesus. That’s one of the most expensive meals we’ve had so far. Oh well, it’s worth it for the experience. Plus, delivery is “free” (baked into the price) and since there is no tipping here (YES. SO NICE), you don’t have to worry about that either.

After the pizzas, Abbie and I just sat around catching up on our overflowing YouTube subscriptions and just watched some TV. It was comfy. This apartment also finally featured some squishy beds. This was really awesome since all of our hotel beds so far have been the standard Japanese “board of plywood with a sheet over it” kind of deal. Nice. Let’s get some rest for tomorrow.

Kyoto is Crowded

March 25, 2019

Good morning, Kyoto!

Today’s forecast called for chilly and overcast weather, but the sunrise this morning was very pleasant and relatively clear. Abbie and I started off the day with some pastries that we bought from the fancy bakery stall right near our hotel.

Dark Cherry tart! So good!

Since we only had one full day here, we wanted to make the most of it. Even though Kyoto has lots to offer, Abbie and I had three major goals:

  1. Visit the massive Shinkyogoku shopping arcade
  2. Visit the famous Gion area and the big orange Yasaka Shrine
  3. See Nintendo HQ (because it’s neat)

Today was going to require quite a bit of walking, but we were prepared. At around 9:50, we set out to see a small part of Kyoto.

We made our way to Shinkyogoku and stopped at a cafe for a proper coffee (and cocoa) plus second breakfast, I guess. The coffee here is just SO good. I want to know their secret.

Second breakfast

It goes on foreeeeeeevvveerrrr

These shopping arcades are always fun. So many shops and infinite variety. You can find everything here! It was about 10:30AM, and most of these stalls opened at 11AM. There was a little stationary store that we decided to visit to kill some time while we waited for the rest of the stores to open.

This was heaven for Abbie. Fancy pens, paints, papers, tapes, inking markers, and any color you could think of. “You shouldn’t have brought me here, I won’t be able to control myself,” exclaims Abbie as she holds a fist-full of Copic markers. Copics are specialty alcohol markers known for their legendarily smooth colors and are often extremely expensive in America with their median price hovering around $8 a marker. Since Copics are made in Japan though, they’re about $2 a piece here.

Paper, tapes, and fancy inks

Markers and pens

So many things. You can see the display of Copic markers at the end of the aisle

That store was fun. Abbie came out with a haul of fancy markers, pencils, and erasers. We spent quite a while in here, so most of the other stores were now open. This place really comes to life once all of the stalls open up.

Look! Crab man! We’ll be dining at the same restaurant when we get to Kyoto.

Abbie and I meandered throughout all the different stores. We visited everything from second-hand stores to “upscale-couture” that sold plain-looking shirts for far too much money. We also found a wall of gatchas. There, we witnessed a gatcha dispensing “strong-bird” figures. Glorious.

My favorite is the blue Parakeet

There were many stores geared for tourists, of course – a notable one being a shop that sold shirts with various kanji on them. The translations were very strange. One was, “I have a bomb strapped to my leg” in Kanji. Yeah, not gonna’ be taking that shirt to the airport.

Alright, with all that walking, I’ve mostly burned off all of the sweets we had for breakfast. Let’s get a fancy lunch at this restaurant that overlooks the river to Gion. They served Fresh-water eel (Unagi), which is a bit pricey, but unbelievably tasty. Soft, crispy, savory, sweet. Just wonderful! Once Abbie was finished dumping the green tea all over the place (nicely done), we took in the sights and enjoyed a great meal.

Unagi Lunch

…with a view!

The lobby of the restaurant

Giant hawks swooped in on unsuspecting tourists brazenly holding their food out in the open. Awesome.

Lunch was great! Let’s hit the streets and head towards Gion. Wow.. it’s… UGH WOW it’s getting SUPER crowded. Man, I don’t remember it being this crowded last time I visited. Though, when I was here last time, it was pretty late at night, so there wasn’t as many tour groups.

Mini-rant: If you’re a guest in a country, you should try your very best to observe the cultural norms and behave in a way that is, you know… appropriate. I am very much aware that I myself am also just a tourist, but I try very hard to conduct myself in a way that positively represents me and the country I come from. A particular type of tourist (you know, the ones that arrive in huge buses, follow flag carriers in massive groups, and swarm monuments just for a few photos before moving on), just seem to have zero respect or tact. It’s slightly disheartening and really takes away from the experience for everyone else. Hopefully, I don’t sound too, “holier-than-thou,” but if you saw this behavior for yourself, I feel that you’d agree.

Complain-y white-boy rant over, back to your travel thing I guess:

Yasaka Shrine

The Tori gate I photographed last time, now featuring one of the few blooming cherry trees. This poor tree was being pulled apart by said tourists for photos. So sad, leave it be!

The crowds here really were insane. Every corner was also populated by tchotchke and food-stall vendors pedaling goods. I suppose that’s fine for what this is, but capitalism kind of takes away from the shinto aesthetic. I sound so whiny in this blog, but bear with me. I tells it as I sees it.

Thankfully, Abbie and I found a relatively quiet koi pond with gigantic fish in it. Look at the little pond-skimmers and the tadpoles! We sat here and relaxed for a little while and just appreciated the gentle giant kois.

Shrine pond

Okay, I’ve had my fill of tacky tourists and crowded spaces. I wanted out. Let’s go to the restroom real quick and get out of here. Oh, they make you buy the toilet paper here. What? Hm, hopefully Abbie read that sign before she… oh.

After a copious amount of hand-washing and sanitizer, we made our escape. Given the circumstance, that could have turned out a whole lot worse. We took a shortcut through some of the side-streets of Gion since the main roads were simply packed with pushy-shovy people. Man, that was truthfully a bit of a disappointment. I remember that shrine being a lot more peaceful when I visited last time. Note to self: night-time is the best time to visit Gion.

I think it’s time we move out of the tourist hotspots and take a brief trip down to Kyoto’s less-populated industrial center. There isn’t anything particularly interesting to do around here, but it’s definitely a bit more of the “real” side of the city. Once we finally made our way to the subway that lead to… well.. nowhere really… the crowds began to dissipate and the world became quiet and peaceful again. Mmmm… that’s more like it.

The stations got smaller. The trains were slower. The people were quieter. We can breathe a little now.

Train tracks at a small station in the middle of nowhere that lead to a more chaotic horizon.

Here, away from the tourist centers, bilingualism fades away. Structures are rustier and less polished. Buildings are less flashy. You could see people going about their daily lives here. Salary men walking back to work from lunch, children playing at their school playgrounds, housewives hanging up their family’s clothes to dry on top of the tall “mansion” apartment buildings. There were even little tiny gardens that dotted the urban landscape. It was a lovely little walk through the real side of the city.

…But why were we here, exactly? Amidst the industrial sprawl of car-crushers, rusty reclamation centers, and other heavy industries lied a pristine set of white buildings.

Oh yeah. You know what we’re talkin’ about.

The Nintendo campus is totally a “Welp… there it is. Alright now what?” kind of location to visit, but you know… it’s super cool to see it with your own eyes. Nearly fourty-years of modern fun came from this company as we know it today. Nintendo proper being established in 1889 of course! And their cherry trees were beginning to blossom. How lovely!

Nintendo R&D. Here’s where the magic happens

You can’t enter the premises without having an appointment, of course. We saw lots of people walking inside though – I wonder what their jobs were? What influences did those people have on the games and consoles sitting in my backpack? Interesting to think about.

Across the street. I actually did visit that restaurant last time I was here. It was really good!

Do it for the snap

Do it for the.. uh.. my own website

Wonder what they’re working on now.

That was a fun little walking tour. You could see that they had an on-campus tennis court and a baseball diamond nearby. Perhaps these were inspirations for Mario Tennis and Super Mario Strikers.

Alright, I’m wiped. Let’s get out of here and back to the hotel. There’s a train station down the street that will lead us right back to the main street we’re on. Just have to check the fair map and… uh.. wait where’s Shijo…

…maybe I’ll look a little harder. Uh… Shijo station should be on this line. Uhhhhh where is it??

Pro-tip: there are actually two Jujo stations – both have separate lines. Good to know for next time because damn that was confusing!

Alright, we’re back. Let’s take a break and rest up for dinner. What’s dinner going to be?

Okinomiyaki. Yeeaaaahhhh buddy – Japanese “savory pancake.” Served hot right on your table’s tepan.

We arrived to the restaurant and there seemed to be a bit of a wait. That’s okay, we’ll just hang outside for a little while and wait for a table to clear up. We waited for about thirty minutes, and there seemed to be some sort of “scene” happening near the front of the store. Yep, que our favorite type of tourist, the same we saw down at the temple today, violently flipping through the menu (wtf?), and profusely bothering the poor server that was already very busy. The server was trapped helping them the best he could for about twenty minutes – they just wouldn’t let this poor guy do his job. As soon as we were invited into the store, he asks us with an exhausted look on his face, “Sorry, could you wait? Waiting OK?”

“Sure, no problem. It’s okay.” I reassure him with a smile. The aforementioned family ahead of us though – oh no, that was their tipping point apparently. “Is a table ready yet. We are not waiting any longer. We do not want to wait.” (wtf? lady the store is packed, they can’t just magically make a seat appear). I briefly chatted with the exhausted waiter and assured him that we would be patient and that he was working very hard. His relived smile and laugh seemed to quickly put us on his “good-side” and it instantly absolved any fear that we too may in fact be impatient foreigners. Our patience and goodwill was rewarded with a seat nearly instantly right near the chefs preparing the okinomiyaki. Sweet – thanks for the hookup dude!

WELL THAT WAS NEAT I GUESS: back to the food O_o

Basically the best thing ever.

I ordered two styles: Osaka style and Hiroshima style. One was made with soba noodles while the other was mostly cabbage-based. Oh my GOD these are so good. Top them with Kombu fish flakes and slather more of that sauce & Japanese mayonnaise and send yourself on a trip to flavor town. I LOOOOVE this stuff.

ごちそさま でした!

Snow to Kyo…to

March 24, 2019

Just as we started to get over our jet lag, Abbie and I decided to ruin it by waking up at 4:30AM. Why? Onsen baths! Very early in the morning is the best time to visit the onsen since there is usually nobody there. Since it had snowed heavily the previous night, the outdoor volcanic hot-spring baths now featured gardens covered in beautiful crystalline pillows of ice. It was supremely beautiful and was a totally unexpected experience. Getting into the bath itself though was a little challenging, since it was still -2°C outside and because you needed to bathe yourself beforehand, you were soaked. It was hard not to just cannon ball into the onsen waters. Once you were in – ahhhhh… The heat of the water with the contrast of the arctic environment was wonderfully refreshing.

After that wonderful bath, I got all cleaned up at their shaving sinks, complete with lots of good smelling hair tonics and aftershaves. It was time to relax under the kotatsu and enjoy the snowy morning while we waited for breakfast.

The view from our room

After a seriously beautiful sunrise, it was time for breakfast.

Another beautiful spread

Honestly, I love the breakfast more than the dinner. The flavors, while still exotic, are definitely easier for those adjusted on a western palette. Delicious crab miso, smoked egg, sausage, salmon, seasonal fruits, glass noodles, potato salad, seaweed salad, WONDERFUL yogurt, and lots of coffee. SOOO good. All the while, a snowy sunrise lit our tatami dining room. Wonderful.

Land of the Rising Sun

Refreshing, snowy alpine views

Of course we had to make a tiny snowman

After breakfast, Abbie and I slowly enjoyed the morning and just took it easy.

Supreme levels of comfy

Once it was time to go, we simply crossed the street and waited for our bus.

All the snow melting away, turning the streets into rivers. Look at all of the water coming off the roof!

Going down via bus is often a lot easier than going up. It’s easier to pre-calculate your fare and have it ready for when you get off. Since we were going to the terminal stop, Odawara Station, our fare would be the maximum 1050 Yen. Easy! Both Abbie and I prepare exact change and hop on the bus.

The ride down was very pretty. Since all of the snow was melting, the waterfalls in the area were really spectacular.

A river and a rainbow

There was a little bit of traffic going down the road, but it was kind of nice since you got to take-in all of the little mountain towns. But, suddenly, the driver indicated that this final stop was “the end of the line.” Uhhhh… no it wasn’t. I checked my map, yep, definitely not supposed to be the end of the line. What? I guess the driver was just going out of service to end his shift. Either way though, we’re at the Hakone-Tozan station again when I just wanted to go directly to Odawara Station. These two stations connect to each other, of course, but now we had to buy tickets and wait for a train. Annoying. Further still, after pre-calculating our bus fare, we weren’t prepared to get off with our fares in-hand. Abbie didn’t understand this and dumped in 1050 Yen for an 800 Yen fare… oops. I had to hold up the line for just a little bit and count my Yen again. Oh well, let’s just get some train tickets.

Waiting for the train at Hakone-Tozan Station

 

 

 

Once we arrived, we needed to hop on the Hikari Shinkansen bound for Kyoto in 10 minutes. Hurry hurry! Made it!

This was going to be a two-and-a-half hour shinkansen ride down the coast of Japan. Visibility was excellent today, so there was a very good chance that we would see Mount. Fuji in all of its glory. Sure enough, 30 minutes later… waaaoooooohh… Incredible. It looked just like the all of the artwork. Massive, snowy, with a little cloud around it. We were on the left side of the train while Fuji was on the right. Not wanting to be rude and take photos over people, we decided to just take it in for ourselves. It was marvelous.

Image Source. If you could imagine us inside of the Shinkansen looking out, that’s kind of what it was like. (but more snow!)

I just love this train ride. Since we were on the Hikari line, this train rips passed many of the smaller stations and fully opens up, full speed-ahead for hundreds of miles. You get to see the coastal countryside of Japan zip by at over 320 KMH. Spectacular. After a long, uninterrupted train, we stopped briefly in Nagoya. I stayed in an apartment here last time. Nagoya is a pretty fun major city – definitely a bit more low-key and peaceful than Tokyo.

Nagoya from up on the Shinkansen tracks

A little while longer on the train and soon we arrived in Kyoto. Kyoto is nice since it’s a little more on the old-school side of things. Abbie and I hopped on a subway for half of the trek to the hotel, then decided to walk for the remaining two miles since it might be nice to take-in a little bit of the local color. The buildings here vary in architectural style greatly. One moment you’re walking through massive skyscrapers, the next you’re walking through a sea of residential buildings, most of which still feature traditional Japanese styles and materials.

A quick shot of Kyoto after we emerged from the subway.

Eventually, we made it to our hotel. Funnily enough, the hotel I stayed in last time I was here was right across the street. This was handy, because that meant that I was already familiar with this area. Once we were checked-in, we looked out the window and were greeted with one of the best hotel views (other than the ryokan) that I’ve ever seen.

Sunset

You could see right across the massive community of varied houses. There’s even a couple temples in the distance. Below us runs a little trolley track. Last time I was in Kyoto, my hotel view was just a brick wall and some AC units. This was great!

What was going to be for dinner though…? How about something fast, cheap, but more importantly, delicious. Gyudon. Hell yeah. Gyudon is a staple “fast-food” for Japan and it is oh-so-delicious. Basically, it’s chopped meat, usually pork or beef, served over rice. I like to crack raw-eggs into mine since the egg will cook into the hot rice and make it extra delicious. Cheap, yummy, fast, and filling. This is what fast-food should be like everywhere.

Both Abbie and I got full meals for about $9 together.

Last thing to do for the night was to do some laundry. While we waited, we decided to head over to the Daiso store down the street from us. Daiso is essentially Japan’s chain of “dollar” stores, where most items are 100 Yen each. Abbie picked out a couple souvenirs for her friends, about seven dollars’ worth of stuff, and paid with a 10,000 Yen note. The highest denomination. This is like going into a 99-cent store and paying with a $100 bill. The clerk gave Abbie an understandably surprised look, but happily accepted the bill (unlike the States where you’d probably be interrogated for using anything higher than $20). Abbie mostly wanted to break her large bill into smaller denominations anyways, so this was actually pretty handy.

After Daiso, we went to a little bakery stall to grab snacks for the morning and headed back for the hotel. Then, we collected Abbie’s clothes from the “dryer,” and relaxed for the rest of the evening.

You’re very welcome

Goodnight, Kyoto!

It’s Snowing on Mount Fuji

March 23, 2019

It’s time to say goodbye to our first hotel in Japan! It’s always a little bittersweet – it’s your first home here, but now you get to experience something different. Don’t worry, you’ll always remember the first hotel. I still remember my first hotel down near Kanda station!

This was going to be Abbie’s first time on a Shinkansen, the famous Japanese bullet trains. These trains never cease to amaze me. The tentative plan was to jump on the Shinkansen and take a break at Shin-Yokohama to enjoy some noodles at the ramen museum. We’d just find a coin locker to keep our stuff in and make our way there before lunch time, then hop back on the train towards our Hakone Ryokan.

…This plan did not exactly work out like we wanted it to.

Shin-Yokohama

First off, the sunny and mild temperatures of the past couple days has been replaced by extreme cold, rain, and wind. It was pretty bitter while we walked around, but it might be pretty comfy once we get to the ryokan. Now we just need to find a coin locker to place our bags.

…You’d think a major train station like Shin-Yokohama would have more than just a few coin lockers for the thousands of people that go through there every day, but no. They were all sold out. We explored all over for more, but they too were all sold out. We decided to raincheck the ramen museum for now and visit it when we return to Tokyo. Brining all of our bags in there would just be a nightmare and we were going to have a massive dinner tonight anyways, so we settled for a little restaurant near the train station. But first, I wanted to visit my favorite 7/11 in Japan inside of the Prince Hotel (where I actually stayed last time!).

 

 

Why is this 7/11 so ornate? What ever, time to pick up a couple more bills and get something to eat.

Abbie got some salmon sashimi and tempura shrimp

I got a delicious fish bowl served over rice with a thermos of soup to sip on.

Okay, all full. Time to get to the trains to zip over to over to Odawara Station. A quick train ride later, and now was the hard part. See, using the trains in Japan is easy! Using the bus system (without an IC card) is slightly a pain. They’re crowded and a bit stressful to use when you’re transporting luggage. Also, when your stop has a name like Sengokuharabunka Center Mae, it’s a little tricky to know when to tell the driver to stop.

Before we left the train station, I stopped over to the Information center and inquired about some advice on which bus routes to use. The lady working the desk was supremely helpful and gave me a ton of maps that she highlighted all of the important information and routes on. That saves a lot of time and effort.

Hakone-Tozan line

First, we jumped on the Hakone-Tozan train a short ride up to its terminal station just up the mountain. Then we jumped on the Tozan bus line, marked with a “T” indicator. I remember riding this bus last time and getting off at the wrong stop, since it is named almost identically to the stop we’re supposed to get off. Not this time, bus.

We made it to the ryokan without much issue, but today was a long and cold day, so we were exhausted. Soon, we were checked in and we were able to relax.

Ryokans are always a treat, and since it was freezing outside (literally), sitting in our warm tatami room was wonderful.

Comfy

They even had a kotatsu (heated comforter table that you sit under) ready for us. These are supremely wonderful, why haven’t we brought these back to America yet? Abbie and I prepared some of the high-quality green-tea and enjoyed our welcoming snack under the warm kotatsu. Mmmm… relaxing…

Wait… is it.. snowing outside?

 

Yeah it is!

As if it could get any cozier.

Actually, yes, it could. Because it’s kaiseki dinner time.

Looking fly in the elevator going down to dinner

That’s me!

What a spread! More dishes just kept coming

Lovely sashimi and real wasabi

Plum sake and lots of little dishes

Wonderful tempura and sauces

A little salad, a bit of smoked fish, a squishy mochi, and an evil raw snail on a bed of salt

Desert

Now all that was left is to watch Japanese Spongebob and a show about cats (also a really amazing Rube-Goldberg machine show where they turned colored balls navigating the machine into characters, wow) and wait for our snowy onsen baths.

Ikebukuro – Sunshine City

March 22, 2019

Okay, this is going to be a fast paced-post with not a ton of writing since we need to get out of here quickly this morning and move on towards our next hotel!

Today, we were going to checkout one of the many premier shopping districts in Tokyo, Ikebukuro. In the center of Ikebukuro lies a MASSIVE shopping complex known as “Sunshine City.” Think of it as not just a “super-mall,” but a hyper-mega-supreme mall. The “City” in Sunshine City is not just for a colorful name.

Though, the name is literally colorful.

We set out to Tokyo station, this time a bit later in the morning in search of a meal. It was about 7:30AM this time, so surely more things had to be open. Yes, more shops were indeed open, but it almost seemed like overnight, each restaurant we were interested in moved their opening hours up ever so slightly – like they were messing with us or something. Oh well, let’s check Ikebukuro for something to eat when we get there.

A short trip on the Yamanote line later and we arrived. Ikebukuro is a very upscale, rich shopping district. If you’ve ever wanted to move beyond the cityscape hubworld in the video game Splatoon, this is probably what you’d see.

 

Do you think they know anything about Mahjong?

After walking around the train tracks (and noticing that the first few buds of the cherry trees were blossoming!), and a little bit of strolling around town, we arrived at Sunshine City. This massive complex houses hundreds of shops and restaurants. There’s even hotels, an aquarium, a planetarium, VR experiences, a MASSIVE display and water-feature, and most importantly, the Pokemon Mega Center.

 

This place is HUGE.

But before we dive into the shops, we were starving and needed to eat something. Last time I was here, I visited a KILLER sushi joint. Let’s find that!

Incredible

Abbie ordered the sashimi bowl while I got the same sushi assortment as I did last time.

Criminally Delicious

There simply is no use in comparing Japanese sushi to American Sushi. They are not even in the same universe. You’ve never tasted anything more tender and delicious. Especially the Salmon and the Eel – to die for.

On to the super fun stuff:

This place makes me happy

Abbie hangs out with her boi

*Side-B’s* “nothin personnel, kid”

Abbie look out you’re about to get hit by an Aura Sphere oh god she has airpods in oh god she can’t hear us.

Outside of the mall is a little rooftop relaxation area with a beautiful little miniature town display.

We even found a Toys R Us. Think of what a Japanese Toys R Us would be like: Yep, you’re exactly right.

Toys R Us actually still exists here.

Cityscape

コーヒーとココア! A wonderful Latte and iced cocoa desert for our break.

Abbie was in shopping heaven, so I let her shop around a little while I rested my feet. She ended up buying a cute, Japanese-style dress, but she had a different goal in mind. See, in Japan, English is often used as a stylistic choice. It’s seen as fashionable and trendy, and much like tacky foreign language tattoos you see in the states, their translations are often nonsensical. Abbie wanted to find an article of clothing with the best English nonsense that she could find. We found many examples of this, but this shirt was one of our favorites.

Assertive, yet philosophical

Okay, that was a TON of walking. Let’s head back to the hotel. Off we go on the Yamanote line back to our temporary home.

We were finally beginning to adjust to the jet lag, so we decided to stay up for dinner this time and head to the fancy Yakitori restaurant right down the road from us. This place was fun. Order raw meat and grill it yourself!

Devastatingly good. Look at that marbling.

Marinated shrimp

This kind of place was totally upscale and expensive, but since it was our first proper dinner, I think it was worth it. It’s the kind of place that “doesn’t have pictures on the menu,” so I was handed the Gajin-baby card with a limited amount of “safe” menu items and a couple photos to point towards. While I did use this menu to start off with (since a couple things did look pretty tasty on it), I was interested in the massive menu of interesting mystery meats. I knew how to read all of the characters on the menu, but I didn’t know what each menu item actually meant. A little bit of researching between orders, and wow. Thank goodness I knew how to read those characters. The quality of meat went from “really, really good” to “HOLY SHIT THIS IS INCREDIBLE.” Do your homework, kids. It’s worth it for the meat!

…After that wonderful dinner, we went back to our hotel and prepared to do a load of laundry. The washing machines work fine, but the dryers here actually suck so hard it’s not even funny. They run both the washer and dryer on a shared 100V circuit, and even with an HOUR dry time, my clothes were still soggy. Ughk. Guess I’ll just hang an outfit out to dry and pack away the rest for later.

You can’t not get a frog-ninja.

Art and Noodles

March 21, 2019

Today was going to be special. Deep within the folder of important documents required for this trip lies a single slip of standard computer printer paper with a couple highlighter marks on it. In order to obtain this single slip of paper, I had to call ahead months in advance (1st of December, 2018 to be exact), 10AM JST, right on the dot.

What was this slip of paper for? It was an admission voucher for the Ghibli Museum in Mitaka. Those who have tried to book reservations to this museum know that only a certain number of people are admitted per day, so tickets are extremely limited and sell out in mere minutes after they go on sale. I consider myself lucky to have gotten two of them for my sister and I.

This wasn’t my first trip to the museum. I visited it last time and it was absolutely spectacular. The Ghibli Museum has one major rule though: no photos of the interior. You have to visit the museum yourself in order to truly experience it. I love this rule, but sadly, I could only really attempt to describe the museum to my sister (who is an artist) with my memories and a little paper fold-out model that they sold in the gift shop. I told her that I would bring her to the real one someday so that we can share the experience together – today was that day.

The morning started off early, like usual. We’re still quite jet lagged, so I decided to grab a container of instant coffee from the kombini last night. I normally have a rule of “1-cup of coffee per day,” but with how messed-up our body-clocks are, that rule went straight out the window. After I finished my serving of extra extra dark coffee, Abbie and I got dressed and headed to Tokyo Station, where we bought even more coffee. ….It’s just so good here.

This time, we arrived to the station a little bit later, around 8AM. There were only a few places open serving quick bites. That’s all we really needed, so we settled for a little cafe within the deep web of underground retail catacombs. The Japanese do in-fact eat breakfast on occasion, but it’s really nothing like the USA where it’s practically an essential staple meal that you eat right after you get up. Japan normally fully “starts” at 10AM, which sometimes makes it tough for westerners to start the day. If you know where to look, however, you can usually find something to munch on in the morning.

In the cafe, I decided to order an iced Americano and get Abbie a chocolate milk, along with a number of little baked goods. I was complemented by the girl running the counter for my ability to order in Japanese. She said it was cute that I knew what to say (aw. >//<). Even if it is a struggle, attempting to speak in Japanese is always appreciated by the locals since it shows that you’re interested in the culture of this island nation where the language isn’t spoken anywhere else. I’m more motivated than ever to keep learning!

Once the order came out, I think something got a little mixed up. Abbie ended up with an Iced Americano, which she exclaimed to be “really” strong. A quick chat with the counter and oh, there’s the cocoa! That’s better. The coffee was brilliantly smooth and delicious. Abbie told me that the chocolate milk was the best she’s ever had. Good stuff.

By now, it was creeping up towards 8:40AM. We needed to be at the Ghibli Museum gates by 10AM sharp. If you miss that time – tough, you’re not getting in. Thankfully, since we were already inside of Tokyo station, it was really easy to flash our rail passes to the counter and hop on the orange Chuo line towards Mitaka. As more and more people began to head to work, the station began to roar to life. Hundreds and hundreds of people coming-and-going to all of the different lines connected to the master JR hallway. I looked around and saw the distinct orange color of the Chuo line upon a time table sign. Looks like there was a train waiting at the station already. Common! Let’s hurry!

As the artfully arranged musical departure warning chimes, Abbie and I step on to the train and take a seat. Mere moments later, the doors close and the train departed. Whew, made it.

Off to Mitaka. The ride from Tokyo Station was only about 30 minutes, even though Mitaka is actually a decent distance away. I always loved how fast and efficient these trains are. They’re a marvel of civil engineering that would simply never work in the USA. A shame for sure, but that’s what makes these train rides special here and now. Lots of Tokyo passed us by through the big train windows and soon:

Mitaka in the morning

The museum was about 15 minutes away and we arrived at 9:20AM. Perfect, we can walk there without any issue and won’t be late. Soon we left behind the busy central metropolitan hub of Mitaka and began our walk through the residential area. There are lots of interesting houses to see here, all tucked away in a clean and quiet neighborhood. Ah, I remember this street. At the end of it, we’ll see a big wall of trees, and to the right of those trees, a sign:

Here lies a wonderful world of whimsical welcoming winsomeness. (“winsomeness” means beauty, I guess. Shut up, I needed another W word). The museum houses room-after-room of stunning artistic demonstrations and animation techniques. Today’s special exhibit was on the various lighting techniques and color choices made to achieve said techniques. There was also a special Ghibli short film screening of 水グモもんもん (Water Spider). Lovely!

Always such a treat

After we exchanged our voucher for our actual film-strip tickets, we congregated in the main lobby and awaited the short film. It’s always such a surreal experience to walk through the Ghibli Museum. Hand-crafted, stunningly intricate detail everywhere. Keep looking at that seemingly mundane wall. Keep staring at it. Longer… Look.. bet you didn’t notice the sea shells and the little painted lizards. Attention to detail is the name of the game here. It’s all so lovely.

The ceiling of The Saturn Theater is painted to look much like the toy room from the movie Spirited Away.

A poster for the short film we watched.

The short was wonderful, of course. There was no dialogue at all, so it was really easy for anybody to appreciate. It was now time to get lost within the museum and wander about to all of the demonstrations. Ornate works are art are everywhere in this building. From the colorful, movie-themed stained-glass windows, all the way down to the marvelously intricate bathroom (real, not just prints!) paintings. This place truly is a treasure and I’m so very glad that I finally have someone that has experienced it with me. To know what it’s really like there.

Abbie and I wandered about the exhibits on each floor, climbing all sorts of different shaped stairways along the way. Ghibli movies are known for both for their love of nature, and for the detailed machinations of machinery, both fantasy and real. The museum makes this self-evident, as beautiful nature scenes and settings are paired with brilliant automata and wonderfully detailed drawings of machinery.

The lighting exhibit was also very special. Genuine animation cels from countless Ghibli movies, all up for display, along with character specifications, color maps, frustum plane charts, paint color walls, coloring techniques. Everything. Each and every cel is hand-crafted and painted on stunning background paintings. Detailed expressions of motion, the illusions of weight, the poise of each character, and all of the wonderful colors that bring the scenes to life. All on display for you to see and to be inspired by. The level of detail per cel was just insane – and you need 24 of these to make one second of film. Wow. Any artist will likely agree with the idea that lighting, and the techniques used to achieve that lighting, make for the most dramatic impact on the mood and aesthetic of your scene. Here, you can witness advanced traditional techniques that I can only describe as “color-magic” paired with expressive and detailed line-art that really puts that sentiment to the test.

Then there is a recreation of Miyazaki’s workshop. Every single wall is filled with original artwork and artistic reference material. From base sketches, to watercolors, to the actual genuine background paintings. There. On the wall. Not protected behind glass or anything, just… there. For you to see with your own eyes. These background paintings are seriously my favorite part about Ghibli movies since they are so stunningly complex and beautiful, yet you often only get to see them for mere moments. Here, you could take as much time as you’d like to sit and stare at them in their true glory. You get to see what these works of art look like in their true color – some of which had been lost or dulled after being photographed for the films. You have to see it for yourself.

Room after room of the original background paintings. All of them simply pinned to the wall behind no glass – they humbly trust that their guests won’t touch or destroy the works. Incredible.

After a few hours of appreciating the artwork, there was one last thing I wanted to visit. The rooftop garden. The forecast for today was predicted to be cold and rainy, which it was for a little while in the morning, but now, it was shaping up to be a beautiful 70°F sunny day. We climbed the bird-cage spiral stairway and… there he is!

Today, I do not stand alone

Last time I was here, there was a brief moment where I sat on a bench at the rear of the rooftop garden, right next to the obelisk from Castle in the Sky, and just appreciated the scenery… alone.

My previous visit

But today, I share the same bench with the person I grew up with. The one who appreciates art in the same way as me. The one that I think should be a part of my own personal Ghibli movie.

The very same bench. I had a feeling I’d be back.

On the rooftop garden

How could we make this day even better? Oh yeah, letting Abbie experience authentic Ramen for the first time.

Needless to say it was divine.

After the long trek home with our stomachs full of ramen and our minds full of inspiration, we decided to take it easy for the rest of the night. The ramen, while incredibly delicious, was super heavy, so we decided to just get a couple onigiri rice balls from the local store along with a couple of snacks to go with it. Yummy and simple. I’m sleepy.

A postcard print of one of my favorite backgrounds. It really captures the special kind of light the sun casts on buildings here in Japan.

Every Ghibli Museum ticket contains original strips of film. Which movies are these from?

A little Totoro pin & a water spider keychain

And Everything In between

March 20, 2019

2:50AM. If you see this on your clock in a foreign country, you’re likely experiencing the effects of jetlag. We too were not immune. Both Abbie and I decided that we desired sleep more than a meal last night, so we were both really hungry. We haven’t had our first meal in Japan yet! I didn’t really want to have our first meal be from a convenience store (even though the quality of those meals are still pretty good). I wanted it to be special.

Tokyo in the early AM

We decided to wander down towards Tokyo Station which lies about 1.5KM from our hotel. We’d get a nice morning walk in and see Tokyo wake up. By the time we were ready to leave, it was still only about 5AM. The sun had just barely scraped past the horizon line, basking Tokyo in a faint morning glow.

The idea was that Tokyo Station is filled to the brim with restaurants, so surely SOMETHING had to be open to serve breakfast to the few early risers. Soon, we arrived to the station’s gigantic south entrance and made our ways to the massive underground catacomb of shops & restaurants. Hundreds and hundreds of stalls… all closed. Maybe there’s something down here… no, all closed. Oh. It was still only about 6AM, so I decided to see what time most of the stores opened. Most were 10AM, some were 8AM, and a select few were open at 7AM. With our now ravenous hunger, we admit defeat. Let’s just get out of the station for now and make our way back to the hotel to wait for the world to wake up a little more. We’ll grab something from a kombini along the way. Not the best first meal, but we were so hungry.

Soba noodle breakfast. So good.

So, we made our way back out of Tokyo Station and began to walk towards the hotel. Be on the lookout for a kombini – there has to be a bunch around here. Hmm.. none over here, or over here… what? How could we have not found one by now? Wait, look across the street. YES! A soba noodle shop was open! That will make a perfect breakfast and first meal! Abbie and I wait for the crossing green signal and make our way over (see: practically sprint) to the noodle shop.

Like most noodle shops, this particular store operated with meal tickets dispensed from a vending machine out front. Take a look through the window and you will see plenty of detailed plastic example meals along with their names and numbers. You don’t have to know Japanese to use these machines – simply find the meal that looks the best to you and remember the number, then find that same number on the vending machine. Easy!

Abbie and I both pick our meals and head over to the machine sitting just outside the front of the store. This machine had seen better days. It rejected my cash several times before finally accepting it. At first, I thought I was doing something wrong, but no, the machine was just a little weathered. Soon we had our meal tickets. We stepped inside the warm noodle shop and instantly the smell of kombu broth and all the delicious toppings amplified from “subtle hint in the streets” to “omg it this smells so incredible I need it now.” Especially since it was still pretty cold outside. Warm, delicious soup for breakfast on a cold morning. Yes.

Within moments, our soups were ready. “Hai, Dozo!” says the woman operating the store. She hands me both of our bowls and we sat down to eat among the many other early rising salary men. Warm soba broth, a delicious poached egg, sea weed, a bit of crab, puffed rice, and of course, a squishy slice of aburaage (fried tofu). This seems to be a pretty loaded version of Kitsune soba, or “Fox-soba.” It was SO good. That was a proper first meal, stumbled upon by sheer luck. Once we finished, we gave our empty bowls back to the woman operating the shop and exclaimed “Dozo gochisosama deshita!” (It was wonderful!). Proud replies of gratitude rang back from the kitchen, and we were back out on to the chilly streets of downtown Tokyo.

With our hunger finally satiated, we decided to walk back to the hotel for a little longer while we wait for a bit more of the world to wake up. Along the way, Abbie and I discuss the pleasures of traveling without much of a plan. You simply go where you want, when you want. If you’re tired, go back to the hotel. Find something interesting? Go towards it. Your trip is not dictated by a schedule, or a guide telling you to ‘walk sharp!’

Of course, we just had to stop by a kombini to pick up a couple of staple treats and my beloved cheap, crappy Boss coffee. So good. I gather up a few cans of the stuff, as well as some mochi-choco-pan (squishy chocolate bread) and some melon-pan (melon bread). Soon, we arrived back at our hotel, where Abbie and I split our melon-pan. This was the first time Abbie got to experience the wonders of Japanese baked goods. Wonderfully soft and airy with a distinct subtle sweetness. Wonderful.

After-breakfast treat

After a little more relaxing at the hotel, and a little bit of early-morning Japanese TV (an entire show detailed miniature scenes accompanied by peaceful music, how lovely!), we looked up the weather for the day. Perfectly clear, sunny, and 21°C (~70ºF). A literal “perfect day” was ahead of us. We needed somewhere fun with a lot of walking around. I’m thinking: Akihabara. Yes. YES.

The Electric City of Everything. A tourist hot-spot for manga, anime, and video games for sure, but I had a different goal in mind in addition to all the other wonderful things you can do in Akiba. There was this one specific vendor there that I’ve heard so much about that specialized in something that I’m very, very fond of. Sometime today, we’ll seek him and is store out. At about 9:30AM, we decided to head out and just jump on the subway since the station right outside our hotel has trains that shoot straight to Akihabara. Convenient! I also used this as an opportunity to show Abbie how the seemingly complicated train maps worked. With a little help from Google Maps, it’s not so tough to order the correct ticket.

We quickly zoomed off underground and arrived at the Tokyo Metro station just south of Akihabara. Going to this metro station instead of the main JR Akiba station was actually pretty fun, since you must cross under a giant train bridge that served as a surprise-reveal gateway for the pure sensory overload that Akihabara is known to provide. We passed under the bridge and, oh yeah, here it is.

The iconic Akihabara street corner. Ever so slightly different from last time I visited.

This part of town is always so bright and colorful with the bright blue Japanese sky. If the cities goal is to mimic the cartoon-y, brightly colored, fun aesthetic of anime, they’ve definitely nailed the aesthetic. While I’m aware that Akihabara is a bit of a caricature of Japanese culture, it’s still wildly fun. I don’t really watch anime since it’s not exactly my thing, but when you’re here, it’s best to just cut-loose and immerse yourself in the insanity.

Let’s pick a random arcade and have some fun! Last time I was here, I definitely explored the arcades, but when you’re alone surrounded by intense Japanese games that don’t make a whole lot of sense to you, it’s hard to indulge. This time, I had a buddy, so we can suck at these games together! Oh, wait, I remember this arcade! It has Mario Kart cabinets in the basement. Yes.

….It was neck-and-neck for almost the entire race, but Abbie beat me by mere milliseconds. Good Game, Well played.

Before the race, you’re given a character hat to match a photo of your face with. I love this game.

After Mario Kart, we wandered about the several maze-like floors of flashing, magical, loud, and amazing games. Each floor had a different genre of games. Bottom floors are usually reserved to prize-catchers, while middle floors are usually rhythm games. Top floors are often multi-player networked games, fighting games, and retro arcade games. Rhythm games here are intense so naturally, Abbie and I needed to try one and make ourselves look like fools to those that can keep 21/16 time at 300 BPM like it’s nothin’.

After being bad at DDR, we found some other neat rhythm games that involved a sliding capacitive keyboard filled with colorful lights and “airtime” sensors. This game was pretty awesome. Abbie was fairly good at it too (though, our intensity level was “basic”).

Nicely done, Abbie!

I decided to give it a try, too. Most of the songs available were completely foreign to me. Mostly just high-intensity J-pop, idol girl bands, and anime intro songs. But… hey.. I know this song!

If you don’t share my affinity with sexy dragon girls, I don’t think we can be friends anymore.

Anyways,

I wanted to give Abbie a brief tour of the Bic Camera store. I visited this place last time and was enamored by the sheer variety of stuff they had for sale. Floors and floors of EVERYTHING cool.

Stuff

Neat

A preview of what’s to come tomorrow!

Abbie bought her first souvenir here. A brilliant choice, if I’m being honest. A Kirby Otamatone. The world’s most spectacular musical instrument.

While we’re out and about, let’s check out Super Potato, the vintage video game shop where thousands of old-school consoles and titles are preserved and sold in like-new condition. I also visited this shop last time, but since it’s so iconic to the area (and also really cool), I figured Abbie would like to see it too.

How it feels.

We navigated through the streets of Akihabra in search of the non-descript hallway leading to a non-descript stairwell, leading to a VERY descript Super Potato. Posters lined the upper floors preceding the entryway. Here we are, vintage game heaven. Prices here are definitely very steep and you can surely find better deals in similar shops in the area, but for sheer consolidated variety, it’s hard to beat Super Potato.

Famicoms (NES) and Super Famicoms (SNES), disk drives, and other accessories in massive stacks.

Gonna need to stock-up on the Megadrives

Feels pretty amazing to actually hold a copy in my hand, to be honest. Go Technosoft!

After perusing floor after floor of vintage games, Abbie picked up a souvenir for one of her friends and we departed. Super Potato is always a treat. They even have a vintage arcade on the top floor if you’re interested in playing some classic titles.

By this point, it was just about noon and we were getting pretty hungry again. Abbie mentioned before we left on our trip that she’d like to visit a “rotating sushi bar” at least once. I happily obliged as there just so happened to be one just down the street! Once we arrived, we were immediately seated right at the bar. I explained the pricing rules to Abbie (colored plates are matched up with different prices), then told her to screw the prices and get as much as she wants because JAPANESE SUSHI, YO.


First bite – heavenly. Sushi is just so different in Japan. You can’t even compare it to American sushi. It is just pure bliss. Round after round of sushi. I also ordered a Miso-clam soup and it was wonderful. All the while, the staff bustled at break-neck speed through the crowded restaurant obliging the requests of many different customers at once. We soon finished with a decently sized stack of plates between us both and called for our check to be tabulated. The waiter counts up the plates and gives us our check. We stuffed ourselves full with tons of wonderful Sushi, and the bill was…. $22. For both of us. I love this country.

Back out on to the streets. We had yet another goal in-mind. Find table-flip game. I remember from last time that it was in one of these Sega arcades – problem is: there are like 4 here of them and they all look the same from the outside. We visit each one, up and down the many flights of stairs in search for our virtual domestic insanity simulator. No luck. But what we did find instead, was this:

 

A MASSIVE set of motion-equipped ridable cock-pit cabinets where you play as a virtual Gundam (large fighting robot, think similar to Transformers). The cabinets featured two joysticks, foot pedals, a side-display, and a MASSIVE screen. This was an arcade game that you actually needed a seatbelt for and it was AWESOME.

Strapped in

No big deal, just S-ranked it (well, the Tutorial anyways).

That was pure insanity and I loved it. But I still want to find Table-flip game. Wait, I know where it is. It’s in the special “Club Sega” arcade just down the street. We walk over and… yeah! I remember this stairway, it should be right around the corner. Oh my god, look! There it…

Sonic Sez: Get rekt kiddo

Broken. Aw. I have a sneaking suspicion that they just disabled the game due to the hordes of tourists (like me) making a ton of noise. These arcades were already blaring, but I remember that this game was a constant source of loud banging noises (because that was, you know, the core mechanic of the game). Oh well, maybe it will be fixed when we get back to Tokyo at the end of our trip.

Slightly disappointing, but that’s nothing a little ice cream can’t fix. Abbie found a little ice cream stall on the side of the street and got some choco-ice cream. I decided to pass since I was still stuffed from lunch. Abbie dropped a bit on the floor, so I had to ask the servers for a napkin. Why is this important? Because I’m actually conversing with people in Japanese now. Simple as the phrases may be, I’m not relying on Google Translate for most of my daily interactions. It feels like a super power. Don’t get me wrong, I’m still a complete scrub when it comes to Japanese, but I’ve been studying for years now and it’s finally paying off. Day after day of studying with nobody to actually talk to makes it seem all-for-naught, and yet… I can do it. Even if it’s as mundane as asking for a napkin, it feels special to speak in another language and be understood. Someday I wish to truly be bilingual, but that will take many more years of study. Regardless, it’s still an amazing feeling that I would soon put to the test.

Heaven for Electrical Engineers

Tucked away in a slightly shabby building labeled “Tokyo Radio Department Store” lies the ultimate goal for our visit to Akihabara. Inside department store, nestled between countless sub-stores selling just about anything you can think of in regards to electronics lies a special man who goes by the nick-name Ken-chan. I first heard about this store through a friend of mine, but Scotty from Strange Parts actually just so happened to explore his shop too. They say in Akihabara, you can find a store catered to directly to your personal interests and Ken-chan’s store was mine.

Yes. Absolutely YES.

Wall-to-wall video game music players and self-made DIY kits that used the same exact vintage sound chips that I’m known for working with and love so dearly. There was even a wall of gotcha machines that dispensed random vintage sound chips. Heaven.

Behind a little register room was a man sitting quietly. I go up and ask, “Sumimasen, Ken-chan des-ka?” (Excuse me, are you Ken-chan?). “Hai,” he responds. (His name isn’t actually Ken-chan, but I’ll refer to him as such to keep his true identity safe)

I introduce myself and explain that I myself have a very similar hobby and have also made my own hardware video game music players. Almost immediately, he lights up with glee. I explained that it was very rare to find people that are into the same niche hobby, especially in the US (though, I think I got lucky there since I know a pretty cool girl that’s into these chips too!). I showed him videos of my video game music player designs and very quickly we both realized that our interests were extremely similar. He seemed to really love my most recent design – a MIDI controlled Sega Genesis synthesizer. We had a great time chatting. I can’t describe how AMAZING it felt to actually have a genuine conversation with someone in Japanese. My sentences were littered with errors, and my pacing was terrible, but I was being understood. I shared interests with someone. I made him laugh. I impressed him with what I made. He impressed me with what he had made. We were talking. Incredible feeling. There were times that I did have to bust out Google Translate because, you know, frequency-modulation synthesis is a tricky subject to talk about even in English, but for the most part, it was all me. He walked me through all of his designs and showed how his driver software worked. VGM files! Just like my designs! He even showed me some incredible portable designs and a complex FPGA-driven prototype of a YM2610 player. For those that don’t know, that is the beastly Neo-Geo sound chip that is incredibly hard to drive. Everything was so neat.

I decided to try out his sound-chip gatcha machines. I told him that I would try and predict the chip that would come out. “OPM desu!” I said as I added my coins and turned the handle. OPN2 (YM2612), which just so happened to be my most-used and most beloved model of sound chip. Sweet, but not an OPM (YM2151). I grabbed one more capsule for a friend back home. After a bit more chatting, Ken-chan dug through his many drawers and pulled out a little red bag with a chip in it. “Presen-to (present for you).” It was an OPM YM2151 chip, the chip that I tried to predict from the gatcha. He was giving it to me as a gift. Oh, my, god. That’s what makes Japan so special. A single gesture like that. I’ll remember that moment forever. A little while later, I turn to the wall of video game music player kits and find the most expensive model. A beastly DIY kit that included every module I needed to replicate his design along with a YM2608 (massive 16-channel FM chip). I’ve never worked with this specific chip before.

I point to the kit, “Ko-re wa” (This one). “Kai-imasu” (I’d like to buy it!). His eyes lit up, “Hai!” I couldn’t tell who was more excited, me or him! I can’t wait to build this thing. We talked for a little while longer going over software and chatting a bit more about our designs. It was just about time to leave, so I asked, “Ken-chan (implying friendship), Tomodachi desuka?” (Want to be friends?). He quickly turns around and rushes to his small desk and pulls out a card. It was his personal business card. I grip the card politely with two hands and study it. He explained his true name to me, to which I now addressed him by formally. “Dozo Yoroshiku,” (It is nice to meet you), I say after announcing his true name. Bowing is shown as a sign of respect in Japan, so I did so, but also extended my hand for a handshake. I think it was an appropriate display of gratitude between our cultures. “Sayonara (Bye, until we meet again), see you online!” I say as I depart. “Sayonara, arigato gozaimashita” says Ken-chan, laughing.

That was the best experience ever. I can’t wait to build this massive kit. Please check out his shop online and RE:Birth website if you’re interested in this sort of thing!

The YM2608 DIY Kit along with my OPM Present from Ken-chan.

Sound chip Gatcha Surprises!

After all that, Abbie and I caught the Yamanote back towards hotel, stopped by a kombini to pick up some instant coffee, and promptly crashed on the beds after we arrived. It was about 6PM. “We’ll just take a short rest.”

…We both awoke at midnight. Oops.

Exhausted Excitement

March 19, 2019

 

So my sister Abbie and I have found ourselves in Tokyo – you know, as you do – wandering the streets like brain-dead sleepy zombies in search of our hotel. Actually, that was the easy part, let’s talk about the hard part:

Everything began back at home. 8AM, rush-hour traffic to LAX, a non-coffee related diversion to Starbucks, airport, security, freedom from the TSA. Abbie and I explored the gorgeous Tom Bradly international terminal since we had a couple hours to spare. Abbie decided that her breakfast was going to be KFC. Truthfully, that’s probably the most Japanese thing that she could have picked.

This was going to be my second trip to Japan, the previous trip being written about in detail here. This time, however, as mentioned above, I am not traveling alone. My baby sister, who is now an actual adult now by the way (what??), will be joining me as we explore The Land of the Rising Sun. Now, it’s just up to us to get there.

Last time, I took an American Airlines 787 Dreamliner to Japan and it was pretty nifty. This time, I’ve chosen Japan’s flagship carrier, ANA on a 777. ANA is a “five-star” airline, and it most certainly showed. Attentive and friendly staff, tasty in-flight meals, galleys stocked with lots of incredible snacks – yeah, full-service airlines rule. Only thing I could think of docking them for were their rather stiff seats that really wore on me through the flight, but that’s more Boeings fault than anything.

A note inside the bathroom. So nice.

I digress. 12 Hours in the sky is enough to make anybody go crazy, but when the service is flawless, it makes the time go by so much faster. There was also a group of young children in front of us with a baby who could have been no more than 1 year old. At the very start of the flight, this baby immediately spun up and started crying. Abbie and I feared the worst, but only moments later, that baby fell asleep for nearly the entire flight. Wow, good job kid, props to you.

Main was a little soggy, but tasty. The sides were where it’s at though!

Eventually, we made it. As always, walking off the jetway instantly invigorates your soul with a newfound energy that you thought had left you once you crossed the international date line. We were here! Zip through immigrations, zip through customs. Easy. In fact, customs didn’t even search any of our bags like they did to me last time. Neat.

Okay, so last time I arrived in Narita, I was in terminal 2. Terminal 2 is definitely a bit more “foreigner-friendly” and has a better layout overall. I needed to find our SIM cards to use our phones and exchange our rail tickets. Finding our SIM cards took me longer than I’m willing to admit. Last time, my SIM card was available at the little post office. I assumed that this time would be no different. NEVER ASSUME. After about an hour of walking around to find the post office, we were informed that the SIM cards were delivered to a different shipping lines office, which we had already passed, at the opposite end of the terminal. Let us never speak of the SIM cards again.

Land. Japan is a sight for literally sore eyes.

After that, though, everything else was relatively smooth sailing. We exchanged our rail passes without a problem and jumped on the Keisei Skyliner train on our way to Tokyo. This was actually my first time on the Skyliner. Last time I took the Narita Express, but since we were here for a slightly awkward 15 days, I decided to activate our 14-day JR rail passes for the following day and grab the Keisei Skyliner instead. Soon, our train lurched forward and sailed into a really, really long tunnel. Wow this tunnel is super long. Why isn’t this tunnel ending…? OH WAIT, it’s dark outside?! Yeah, guess we were looking for those SIM cards for a little too long. Oh well, Tokyo is awesome at night.

Soon, we arrived at Ueno Station. Abbie had previously fought with the ticket gates and failed to get her card punched in, so I was totally waiting for her to insert her ticket and get stopped by the automatic doors. This would have been both hilarious and frustrating since we were both beyond tired. I insert my ticket, walk through the gates. Abbie inserts hers (this time, the correct way!) annnnddd…. right through. Phew. Okay, this is it. Tokyo. Get ready for your first time walking up those stairs:

Ueno

 

Yeah, I love this city. Let’s get to our hotel. We had two options: Yamanote train line and a bit of a walk, or the Tokyo Metro which takes almost directly to the hotel. It was about 7PM at the time, so peak rush-hour. Japan is infamous for its incredibly crowded trains at this hour, so I decided to take a chance on the metro since it was heading towards central Tokyo instead of away from it. Another thing I was thankful for was my ability to read the rail maps still and use the ticket machines. Being as tired as I was, not having this prerequisite knowledge would have been a disaster. Fortunately though, I managed to grab us both tickets for the proper amounts in no time. Once we were at the station, a train departing central Tokyo arrived and it was PACKED. Uh oh, is our train going to be like this too?

….Nope. Just like I predicted, our train had very few people on it since it was heading away from Tokyo. Perfect. A couple stops later and tada! Our hotel is just across the street.

The streets were filled with many smells of delicious and tantalizing foods. We were so hungry, but also tired to the point of literal delirium. Let’s check-in to the hotel first and THEN we’ll get something to eat. Yeah no we checked in and we were done for the day. As disappointing as that sounds, trust me, the fatigue was unbearable.

As I write this at 3AM, now rested, it was time to prepare to hit the town and grab something to eat. …or maybe just the kombini for now.

Mega MIDI: A Playable Version of my Hardware Sega Genesis Synth

March 13, 2019

Now Available for Sale Here!

Familiar and Foreign

Those of you that are familiar with my previous works, namely the MegaBlaster, know that I’m very much into old-school FM synthesis chips that were mainly found in 80’s/90’s arcade systems and home video game consoles. I’m pretty well-versed when it comes to playing VGM files on these old chips. The VGM format, while confusing in its own right, mostly handles all of the complicated register-specific aspects of these sound chips. Essentially, you just read-in the commands and push them to the chips without caring about what that data means. The chip knows what to do with that data so I don’t have to.

Almost immediately after I published my work on the MegaBlaster, I was asked about possibly adding MIDI functionality to it in order to use it as an instrument. At first, I was hesitant to do so – While I’m sure the MegaBlaster itself is more than capable of functioning as a MIDI device, it wasn’t really designed for that. Further still, controlling the synth chips with MIDI would require me understanding the complete ins-and-outs of each chip. It was possible, but I didn’t really think it was viable with the knowledge that I had at the time.

….Until one day where I just sucked it up and did it.

A Learning Experience

Buckle up, because this is gonna’ be a long one.

If I was going to attempt driving these ancient chips through MIDI, I was going to design a dedicated device for it, rather than shoe-horning that functionality into the MegaBlaster. This was going to be a long, multi-month learning process filled with many hours of trial and error.

First thing’s first: Which microcontroller should I use? While I love the STM32 series of BluePill boards, I figured that would be a little over-kill since I’m not dealing with the same demanding overhead requirements as playing VGM files. I really didn’t need the horsepower of 32-bit ARM and figured 8-bit AVR would be a lot easier to work with. What I really desired was native USB host support. This would make designing a MIDI device a hell of a lot easier with significantly less software pain in the long run. I settled on using the AT90USB1286 since it was the same MCU used in PJRC’s Teensy++ 2.0 boards. 

While I was in the bread-boarding stage, I just used a Teensy++ 2.0. It made prototyping SO much easier since it featured just about everything I needed with a lightning-fast programming toolchain. Super handy. This would later result in a bit of pain when it came to handling proprietary bootloaders, but I’ll explain that a little later.

The First Prototypes

The first breadboard prototype

Creating the first breadboard prototype wasn’t actually all that bad. I essentially just duplicated the MegaBlaster’s analog stage and hooked up power, ground, clocks, and data lines. I was only working with the YM2612 for now as I was unsure if I even wanted to include the PSG in this design. One advantage of using AVR is the ability to directly write to 8-bit ports. Other microcontrollers can do this as well of course, but Atmel makes it super easy to do so. You may also notice a little bar of LEDs on a PCB off to the side – I designed this PCB a couple years ago. It’s just a single row of 8-LEDs and a common ground. You can hook this LED board up to 8-bit data busses and have a really quick and easy visualization of the data going across. This little board was invaluable for debugging. You could use a logic-analyzer of course, but when it comes to functional low-tech solutions, it’s hard to beat the ease-of-use and simplicity of a few blinky lights.

With the breadboard all set for testing, I needed a quick way to verify that I hooked the YM2612 up correctly. I referenced this super handy test code which replicates the “Piano Test Voice” found in the Sega Genesis’ technical manual. Both this test code and technical manual excerpt would be a godsend down the line since the official YM2612 application manual has been lost to time. After a bit of tweaking, a single channel of my YM2612 began roughly belching out a single piano tone. Good enough, let’s draw the rest of the owl.

Register Maps

Here’s where it get’s tough. First, let’s define what registers do when referring to these old sound chips. They are simply memory addresses on the chips that represent synthesizer settings. If you’ve ever seen a proper professional synthesizer keyboard, you’ve surely noticed all of the crazy knobs, switches, buttons, settings, etc. All of those sources of input are modifying the circuitry inside of the synthesizer (or values to a specific algorithm) in order to produce your custom waveform. The YM2612 et. all have lots and lots of settings to change in order to modify the final waveform and we can access those settings through the chip’s on-board registers. You can just imagine the registers as a table of values that we can change in order to make the chip do something. Indeed, this is not far off to what is really happening. Not only can you control voice (the overall sound) values, but you can also tell the chip to turn off and on specific channels or to add effects to them.

Usually, register maps are fairly straight forward. Change a value at this register address and boom, something happens. For the most part, that is true, but YM2612 is a complicated chip, so fully grasping the register system and how to write to it properly took ages. The Genesis Technical Manual I mentioned previously provided a nice starting point, but as you’ll soon see, it becomes fairly confusing and difficult to decipher without proper documentation. Before messing around with all these complicated voice register settings, the first thing I needed to do was to handle keyboard MIDI commands, and the easiest one I could think of was the “Key-On” and “Key-Off” commands.

MIDI, HID, and some Other Annoying Protocols

In order to interpret MIDI commands coming in to my prototype board, I needed a library. You could spend the time and interpret the MIDI commands manually since the protocol isn’t all that complicated, but I figured since I’d like USB MIDI support and serial MIDI support, I’d best start off not reinventing the wheel and go with something proven. Also, I didn’t want to deal with the nightmare that is HID packet interpretation. Thankfully, PJRC and the Arduino framework already provide great MIDI libraries to use free of charge. Awesome! I’ll just create my USB MIDI instance and I’ll be off!

…Or so I thought. Since the AT90USB1286 microcontroller on the Teensy was acting as an HID host, telling it to accept MIDI commands means I lost access to my invaluable serial console that I used to debug with. Not to worry, however, as you can make a few changes to the preprocessor directives of the MIDI library to get the best of both worlds. By doing this, you can have access to both USB MIDI commands and have a pseudo serial connection. Why pseudo? Well, the Teensy is actually sending your serial data through HID packets. These packets can be interpreted by the teensy_gateway.exe program included with the Teensy Framework and are broadcasted locally over Telnet to be received by any terminal client you connect to it. After adding that modification script, I wrote a little batch file that invokes the teensy_gateway program and an instance of putty to connect to it over Telnet. Boom, instant “serial” connection and USB MIDI access. You can also use the Arduino IDE’s serial console as well, but you will need to install the Teensy toolchain.

Also, if you’re using PlatformIO, be sure to tell it which build flags you’d like to use for this dual MIDI/Serial functionality.

First Notes

Okay, finally, time to make this chip sing to keyboard commands. Remember how I mentioned the “Key-On” and “Key-Off” MIDI commands? Now it was time to interpret those into commands that the YM2612 could understand. I’ll spare you the details on setting up the boilerplate MIDI side of things since it’s pretty simple and well documented (Got a MIDI command? Call X function).

Recall that the YM2612 is essentially a synthesizer hooked up to a big table of registers that control everything from voices, to effects, and most importantly, whether a key is on or off. In order to turn on a channel, we first need to provide it with a voice, then activate the Key-On register. I’ll stick with the piano test code and a single channel for now. At this stage in development, I am not concerned with pitch or how the voice sounds, I just want to be able to turn a single channel on and off through MIDI commands.

If we take a look at the register map of the YM2612, we’ll notice that register 0x28 is the Key On/Off register. This register isn’t as straight-forward as “1 in this register turns on a voice.” It’s a bit more complicated than that, but since we’re only here to test a single voice, we’ll just pass in the value 0xF0. Once we have the register/value we want to modify in mind, it’s time to tell the YM2612 what to do. Here’s where a little hardware know-how comes into play.

In order to write to the YM2612, we need to follow a strict order of operations. The YM2612 actually has two banks of nearly identical registers. You can select the upper bank by pulling the A1 pin HIGH, and the lower bank by pulling the same pin LOW. Keep this in mind for later. For now, though, the write order of operations is the following:

  1. Set the A1 pin for the register bank you want to access
  2. Set A0 to LOW
  3. Set Chip Select (CS) to LOW
  4. Write the address of the register you’d like to access to the 8-bit bus
  5. Set WR to LOW
  6. Wait a microsecond
  7. Set WR, CS, and A0 back to HIGH to finish the address write
  8. Pull CS down to LOW again since we need to write the data now
  9. Write your new register value to the 8-bit bus
  10. Set WR to LOW yet again and wait a microsecond like last time
  11. Set WR and CS back to HIGH to finish the data write
  12. Set A1 and A0 back to LOW to prepare for next time

Sound like a pain in the ass? That’s because it is! You can see an example of my YM2612 “send” function where I’ve implemented the above procedure here:

void YM2612::send(unsigned char addr, unsigned char data, bool setA1)
{
    digitalWriteFast(_A1, setA1);
    digitalWriteFast(_A0, LOW);
    digitalWriteFast(_CS, LOW);
    PORTC = addr;
    digitalWriteFast(_WR, LOW);
    delayMicroseconds(1);
    digitalWriteFast(_WR, HIGH);
    digitalWriteFast(_CS, HIGH);
    digitalWriteFast(_A0, HIGH);
    digitalWriteFast(_CS, LOW);
    PORTC = data;
    digitalWriteFast(_WR, LOW);
    delayMicroseconds(1);
    digitalWriteFast(_WR, HIGH);
    digitalWriteFast(_CS, HIGH);
    digitalWriteFast(_A1, LOW);
    digitalWriteFast(_A0, LOW);
}

With ALL of this in mind, I can finally toggle a single channel through MIDI. Using the MIDI library, any time I receive a Key On command, I’ll simply call my YM2612 ‘send()’ function and write 0xF0 to register 0x28. Once I receive a Key Off command, I’ll send over the value 0x00 to clear register 0x28 which will tell the synth to being the “decay” of the voice.

ym2612.send(0x28, 0xF0, 0); //Reg 0x28, Value 0xF0, A1 LOW. Key On
ym2612.send(0x28, 0x00, 0); //Reg 0x28, Value 0xF0, A1 LOW. Key Off

Writing to the registers like this will be the basis of everything we do moving forward. It only becomes more complicated from here on out!

Understanding the Language of Music …And Japanese

So I’ve got a box that goes ‘bing’ and that’s about it. No chords, no other voices, not even any other notes. How can we take in MIDI Key-On commands and translate them into properly tuned notes that represent the keys you’re pressing? By doing a shit ton of annoying math. You see, instead of just pushing over your desired frequency to some arbitrary register and just letting the chip figure it out, you have to compute something known as the “F-Number.” This F-Number is what’s sent to the F-Number register and is what determines the output frequency of your note. Okay, where can we find the formula for this F-Number? In the YM2612 Application Manual!  ….that doesn’t exist. Aw.

But, fortunately for me, the YM2612 has a twin CMOS sister, the YM3438, AKA the OPN2c. These two chips are functionally identical and share the same register map, the only real difference being the output stage. A manual does in fact exist for the YM3438, and you can find it here. Unfortunately for us, it’s entirely in Japanese.

Well as it turns out I can read Japanese just fine so we’re good.

Anyways, let’s get to what we need. The F-Number. On page 23 and 24, you can see information related to the F-number, as well as a little register map showing where that value should eventually end up. The formula for calculating the F-number is:

(144 × fnote × 220 ÷ fM) ÷ 2(B-1)
fnote = Your desired note frequency
fM = The frequency of your master clock
B = Block number

Okay, not the worst formula ever, but for little microcontrollers with no floating point units, this is kind of a nightmare. Let’s try and compute an F-number for note A4, just like the application manual does.

The frequency of an A4 note is 440 Hz. Our master clock frequency is 8MHz (8,000,000 Hz). The block number is… wait, damn it, block number?

Yep, yet another gotcha. As you move up the musical scale, your block number will change. The block number is a 3-bit value that basically represents which octave you’re on. If you compute a table for a single octave, you can use the block number to shift that table up and down for each octave instead of computing the F-numbers each time. For the sake of this example, let’s assign it to 4 (Get it? A4 is in block 4!).

(144 × fnote × 220 ÷ fM) ÷ 2(B-1) 
fnote = 440 
fM = 8000000 
B = 4
FNum = (144 × 400 × 220 ÷ 8000000) ÷ 2(4-1) 
FNum = 1038.09024

And if we look at the example table in the YM3438 manual…

Perfect! Exactly what we were looking for.

Now, every time we receive a MIDI command, we can grab the key number, convert it to its frequency using some more math, then convert that frequency into our F-Number using the formula above. Don’t forget the block number calculation too!

You’re not done yet. Now you have to pack all of that information into a byte and send it out to each channel’s frequency register! I’ll spare you the details here and have you look the source code for that one. Since this was such a computational nightmare, I scoured the web for more elegant solutions that used LUTs (Look-up tables) instead and discovered a master-class solution by

I incorporated a similar design into my final project since it supported pitch bending better, but before I discovered, I did all of the math on the fly.

No polyphony yet, just one dinky FM piano voice and a single key at a time, but it was progress.

Welcome to Register Hell

AHHHHHHHHHH

Monophony was pretty tricky, but polyphony was going to be an even bigger nightmare. The image above is the complete memory map of the OPN (YM2612/YM3438). Understanding this map requires a keen eye in pattern recognition and a mountain of patience for cryptic and unhelpful application notes (in a foreign language!). Oh and did I mention: pulling A1 HIGH will swap you over to another identical bank of registers for the upper 3 channels that you must also set. Goodie.

Quickly take a look at that register map and see if you can spot any obvious patterns. To me, the first one that stands out is that each address along the Y axis is spaced out by 0x10. This is handy to keep in mind as we will use it to quickly iterate through each address. Also remember that since we can jump up to the upper register bank that controls channels 4, 5 and 6 using pin A1, the register addresses are identical but the values are not! Also, notice along the X-axis, each address seems to be spaced out by 0x04. Why? There are four operators per channel! (The manual refers to channels as “slots,” by the way.)

Let’s hop waaaaaay back into my code when I first implemented polyphony.

Take a look at the setup() function. You can see that I first generate a LUT for F-numbers using GenerateNoteSet(), then perform a little housekeeping to set the clocks and such.

But then you will notice this block:

  ym2612.send(0x22, 0x00); // LFO off
  ym2612.send(0x27, 0x00); // CH3 Normal
  ym2612.send(0x28, 0x00); // Note off (channel 0)
  ym2612.send(0x28, 0x01); // Note off (channel 1)
  ym2612.send(0x28, 0x02); // Note off (channel 2)
  ym2612.send(0x28, 0x04); // Note off (channel 3)
  ym2612.send(0x28, 0x05); // Note off (channel 4)
  ym2612.send(0x28, 0x06); // Note off (channel 5)
  ym2612.send(0x2B, 0x00); // DAC off

Right here, I am simply turning off the Low-Frequency Oscillator (LFO), setting Channel 3 to it’s “normal” mode, sending a Key-Off command to each channel, and finally, disabling the Digital to Analog Converter (DAC). This is just a bit of setup code that prepares the YM2612 without having it digitally scream at us.

The main part of this function is where I actually set the piano test voice for every channel:

  for(int a1 = 0; a1<=1; a1++)
  {
    for(int i=0; i<3; i++)
    {
          //Operator 1
          ym2612.send(0x30 + i, 0x71, a1); //DT1/Mul
          ym2612.send(0x40 + i, 0x23, a1); //Total Level
          ym2612.send(0x50 + i, 0x5F, a1); //RS/AR
          ym2612.send(0x60 + i, 0x05, a1); //AM/D1R
          ym2612.send(0x70 + i, 0x02, a1); //D2R
          ym2612.send(0x80 + i, 0x11, a1); //D1L/RR
          ym2612.send(0x90 + i, 0x00, a1); //SSG EG
           
          //Operator 2
          ym2612.send(0x34 + i, 0x0D, a1); //DT1/Mul
          ym2612.send(0x44 + i, 0x2D, a1); //Total Level
          ym2612.send(0x54 + i, 0x99, a1); //RS/AR
          ym2612.send(0x64 + i, 0x05, a1); //AM/D1R
          ym2612.send(0x74 + i, 0x02, a1); //D2R
          ym2612.send(0x84 + i, 0x11, a1); //D1L/RR
          ym2612.send(0x94 + i, 0x00, a1); //SSG EG
           
         //Operator 3
          ym2612.send(0x38 + i, 0x33, a1); //DT1/Mul
          ym2612.send(0x48 + i, 0x26, a1); //Total Level
          ym2612.send(0x58 + i, 0x5F, a1); //RS/AR
          ym2612.send(0x68 + i, 0x05, a1); //AM/D1R
          ym2612.send(0x78 + i, 0x02, a1); //D2R
          ym2612.send(0x88 + i, 0x11, a1); //D1L/RR
          ym2612.send(0x98 + i, 0x00, a1); //SSG EG
                   
         //Operator 4
          ym2612.send(0x3C + i, 0x01, a1); //DT1/Mul
          ym2612.send(0x4C + i, 0x00, a1); //Total Level
          ym2612.send(0x5C + i, 0x94, a1); //RS/AR
          ym2612.send(0x6C + i, 0x07, a1); //AM/D1R
          ym2612.send(0x7C + i, 0x02, a1); //D2R
          ym2612.send(0x8C + i, 0xA6, a1); //D1L/RR
          ym2612.send(0x9C + i, 0x00, a1); //SSG EG
          
          ym2612.send(0xB0 + i, 0x32); // Ch FB/Algo
          ym2612.send(0xB4 + i, 0xC0); // Both Spks on
          ym2612.send(0xA4 + i, 0x22); // Set Freq MSB
          ym2612.send(0xA0 + i, 0x69); // Freq LSB
    }
  }
  ym2612.send(0xB4, 0xC0); // Both speakers on
  ym2612.send(0x28, 0x00); // Key off

There are two loops. A loop with an iterator that represents A1 and i that represents a single channels specific register index. As I loop the first time, a1 is set to 0, meaning I keep the A1 pin set to LOW. We’ve selected the lower bank of registers. We then iterate through all of the voice setting registers, one by one, and place our test piano voice values inside of them. We do this three times, as there are three channels on the lower bank. Once we loop three times, we increment a1 by 1. Pin A1 is now pulled HIGH, so we are now on the upper register bank. Recall that the addresses in each register bank are identical, so we just iterate over all of the same addresses with the same data yet again, this time for channels 4, 5, and 6. Finally, I activate both the left and right speaker outputs by writing 0xC0 to address 0xB4 and made sure that the “Key-down” register was reset to 0x00.

Are we ready for polyphony yet? Haha, no.

We’ve only just set the register’s voice values. Meaning, were this a real standalone synthesizer keyboard, we just set all the knobs and dials to their correct settings. In order to produce polyphony, we still need to tell the YM2612 which channels are on, which channels are off, and at what frequency each channel is supposed to be set to.

In order to spare you from another math onslaught, I figured it’s probably best for you to see the old project code itself.

In a nutshell, I kept track of how many keys were being pressed on. The YM2612 only has 6 channels, so a maximum of six keys could be pressed at a time. Every time a key was pressed, I would check to see how many other keys were pressed and assign the note a channel after performing the F-number, Block number, etc. calculations. If the channel assigned was 4, 5, or 6, I had to set pin A1 to HIGH so I could select the upper register. To handle a key-off event, I simply referenced which channels were assigned which MIDI note number when they were turned on and would simply reverse the process (without having to calculate for F-Number, of course).

void KeyOn(byte channel, byte key, byte velocity)
{
  uint8_t offset, block, msb, lsb;
  uint8_t openChannel = ym2612.SetChannelOn(key); 
  offset = openChannel % 3;
  block = key / 12;
  key = key % 12;
  lsb = fNumberNotes[key] % 256;
  msb = fNumberNotes[key] >> 8;

  bool setA1 = openChannel > 2;

  if(openChannel == 0xFF)
    return;

  Serial1.print("OFFSET: "); Serial1.println(offset);
  Serial1.print("CHANNEL: "); Serial1.println(openChannel);
  Serial1.print("A1: "); Serial1.println(setA1);
  ym2612.send(0xA4 + offset, (block << 3) + msb, setA1);
  ym2612.send(0xA0 + offset, lsb, setA1);
  ym2612.send(0x28, 0xF0 + offset + (setA1 << 2));
}

void KeyOff(byte channel, byte key, byte velocity)
{
  uint8_t closedChannel = ym2612.SetChannelOff(key);
  bool setA1 = closedChannel > 2;
  ym2612.send(0x28, 0x00 + closedChannel%3 + (setA1 << 2));
}

I kept track of all the note channel assignments in the YM2612 driver. Prototype code is messy!

But hey, look! Full six-channel polyphony! Yay, we’ve made a budget-conscious, early-90’s toy keyboard!

New Voices and The OPM File Format

So we’ve got basic polyphony, but we’re still using the same lame piano test voice. The ultimate goal of this project is to be able to play any instrument from any Sega Genesis soundtrack. Now we already know that there are a whole host of complicated registers that we can set to control all of the intricate details that go into crafting each FM voice. If we wanted to, we could go in manually using a Sega emulator, scope out all of the individual memory addresses that make up each voice, and push those values one-by-one into the YM2612’s voice registers. If you really don’t value your time and want to do something mind numbing, this is the route for you.

Fortunately for us, there is indeed an easier solution. The OPM file format.

While the OPM file format was originally designed for… well.. the OPM FM synthesizer chip (AKA, YM2151), we can use it to also program our YM2612’s. Since the YM2612 and the YM2151 are so similar, the voice registers are practically identical. Originally, this file format was designed to be used with VOPM, the YM2151 VST that can also be used to craft custom patches for our final synth project. We can also convert .VGM files to OPM files with ease using a tool that I’ll talk about a little later. OPM files perfectly map out all of the register settings to give us the exact voices we need to replicate those found in Sega Genesis games. The downsides? The format itself is really poorly documented, and since it’s text-based, it’s kind of a pain to parse.

How do we get YM2612 OPM files? Glad you asked, because I have a package of practically every YM2612 OPM voice file available. You’d be hard-pressed to not find a game track in this pack. You can download the YM2612 OPM files here.

Can’t find your game’s patch listed in that archive but you have the VGM file? Don’t worry, I’ve got a tool for you here! Simply follow the directions in the readme file and you should be all set. This should make converting VGM files to OPM super easy.

Now that we’ve got our OPM patch files, let’s explore the format a little bit and see how I applied them to my YM2612. Since OPM files are text-based, you can open them up in a text editor and see all of the individual voice settings. (You can also manually tweak these voice settings in a text editor too, if you know what you’re doing)

Once we open up an OPM file, you will see all of the individual instrument patches. They look like this:

@:0 Instrument 0
LFO: 0 0 0 0 0
CH: 64 6 6 0 0 120 0
M1: 31 18 0 15 15 24 0 15 3 0 0
C1: 31 17 10 15 0 18 0 1 3 0 0
M2: 31 14 7 15 1 18 0 1 3 0 0
C2: 31 0 9 15 0 18 0 1 3 0 0

If we take a look at the anemic specification and compare it to the YM2612 register documentation, we can slowly work out what all of these settings mean. Here’s what the specification says:

@:voice_num voice_title
LFO: LFRQ AMD PMD WF NFRQ
CH: PAN FL CON AMS PMS SLOT NE
M1: AR D1R D2R RR D1L TL KS MUL DT1 DT2 AME
C1: AR D1R D2R RR D1L TL KS MUL DT1 DT2 AME
M2: AR D1R D2R RR D1L TL KS MUL DT1 DT2 AME
C2: AR D1R D2R RR D1L TL KS MUL DT1 DT2 AME

At the top, you will see an @ symbol, a colon :, a voice number, and the instrument number. These headers are standardized, so we can use them to know which voice we’re looking at. Next, let’s look at the LFO: CH: M1:, C1:, M2:, C2: parameters.

LFO stands for Low Frequency Oscillator. When dealing with standard YM2612 OPMs, these values are always zero. CH is used for global channel algorithm settings that affect every operator at once. M1, C1, M2, and C2 are the names of the 4 operators within every synth channel. If we’re creating a polyphonic, mono-timbral synth, we need to set every channel’s 4 operators with the exact same data. Don’t confuse operators with channels. There are six individual channels, each with their own set of four operators, meaning there are 24 operators in total to set.

Let’s define what all of the OPM settings stand for.  Every value is in decimal, not hex.

LFO: Low Frequency Oscillator Settings (Usually all 0)
LFRQ: LFO Frequency
AMD: Amplitude Modulation Enable
PMD: Phase Modulation
WF: Waveform
NFRQ: eNable Low Frequency Oscillator
CH: Channel Algorithm Settings
PAN: Panning? This setting is unknown and is unused.
FL: Feedback Loop
CON: Connection, AKA "Algorithm"
AMS: Amplitude Modulation Sensitivity 
PMS: Phase Modulation Sensitivity (AKA Frequency Modulation Sensitivity)
SLOT: Slot Mask
NE: Noise Enable. Unused in our case.
Operators: M1, C1, M2, C2
AR: Attack Rate
D1R: Decay Rate 1
D2R: Decay Rate 2
RR: Release Rate
D1L: Decay Level 1
TL: Total Level
KS: Key Scaling 
MUL: Multiplier
DT1: Fine Detuning 
DT2: Coarse Detuning 
AME: Amplitude Modulation Enable

If you take a look at the register map for the YM2612, you’ll find lots of these settings in there. Essentially, all we have to do is read-in these OPM file settings and transfer them over to the appropriate YM2612 registers. Making a plain-text file parser is always a bit of a nightmare, and I’m completely positive there is a better way to do this, but I’ve developed a function that seems to parse OPM files perfectly fine.

First, I create a struct to store my voice data, as well as an array of voices since each OPM file will contain multiple different voices. Each instrument you hear in a Sega Genesis music track (with the exception of PCM samples), will have it’s own voice patch.

Once I have my “voice” struct array, I then populate it with the following function:

void ReadVoiceData()
{
  size_t n;
  uint8_t voiceCount = 0;
  char * pEnd;
  uint8_t vDataRaw[6][11];
  const size_t LINE_DIM = 60;
  char line[LINE_DIM];
  while ((n = file.fgets(line, sizeof(line))) > 0) 
  {
      String l = line;
      //Ignore comments
      if(l.startsWith("//"))
        continue;
      if(l.startsWith("@:"+String(voiceCount)+" no Name"))
      {
        maxValidVoices = voiceCount;
        break;
      }
      else if(l.startsWith("@:"+String(voiceCount)))
      {
        for(int i=0; i<6; i++)
        {
          file.fgets(line, sizeof(line));
          l = line;
          l.replace("LFO: ", "");
          l.replace("CH: ", "");
          l.replace("M1: ", "");
          l.replace("C1: ", "");
          l.replace("M2: ", "");
          l.replace("C2: ", "");
          l.toCharArray(line, sizeof(line), 0);

          vDataRaw[i][0] = strtoul(line, &pEnd, 10); 
          for(int j = 1; j<11; j++)
          {
            vDataRaw[i][j] = strtoul(pEnd, &pEnd, 10);
          }
        }

        for(int i=0; i<5; i++) //LFO
          voices[voiceCount].LFO[i] = vDataRaw[0][i];
        for(int i=0; i<7; i++) //CH
          voices[voiceCount].CH[i] = vDataRaw[1][i];
        for(int i=0; i<11; i++) //M1
          voices[voiceCount].M1[i] = vDataRaw[2][i];
        for(int i=0; i<11; i++) //C1
          voices[voiceCount].C1[i] = vDataRaw[3][i];
        for(int i=0; i<11; i++) //M2
          voices[voiceCount].M2[i] = vDataRaw[4][i];
        for(int i=0; i<11; i++) //C2
          voices[voiceCount].C2[i] = vDataRaw[5][i];
        voiceCount++;
      }
      if(voiceCount == MAX_VOICES-1)
        break;
  }
  Serial.println("Done Reading Voice Data");
}

Those who are more gifted in C-string manipulation than I am are probably wincing a little right now, but this function works perfectly, so I think I’ll keep it. This function will also automatically detect when there are no more valid voices to read in since the OPM format likes to generate way more voice blocks than are actually available. Brilliant format, right? But hey, it’s what we’ve got to work with.

Now here’s the tricky part. If we take a peek through the YM2612’s register map, you’ll notice that several register settings are actually packed together into a single byte. This is the late 80’s/early 90’s after all, and storage space is at a premium! No worries, though. A bit of careful bitwise scrunching of our otherwise organized voice data is all we need. Once we’ve packed everything into their appropriate bytes, we can send our new fancy voice register data over to the YM2612 just like we did with the old piano test voice.

void YM2612::SetVoice(Voice v)
{
  currentVoice = v;
  bool resetLFO = lfoOn;
  if(lfoOn)
    ToggleLFO();
  send(0x22, 0x00); // LFO off
  send(0x27, 0x00); // CH3 Normal
  for(int i = 0; i<7; i++) //Turn off all channels
  {
    send(0x28, i);
  }
  send(0x2B, 0x00); // DAC off

  for(int a1 = 0; a1<=1; a1++)
  {
    for(int i=0; i<3; i++)
    {
          uint8_t DT1MUL, TL, RSAR, AMD1R, D2R, D1LRR = 0;

          //Operator 1
          DT1MUL = (v.M1[8] << 4) | v.M1[7];
          TL = v.M1[5];
          RSAR = (v.M1[6] << 6) | v.M1[0];
          AMD1R = (v.M1[10] << 7) | v.M1[1];
          D2R = v.M1[2];
          D1LRR = (v.M1[4] << 4) | v.M1[3];

          send(0x30 + i, DT1MUL, a1); //DT1/Mul
          send(0x40 + i, TL, a1); //Total Level
          send(0x50 + i, RSAR, a1); //RS/AR
          send(0x60 + i, AMD1R, a1); //AM/D1R
          send(0x70 + i, D2R, a1); //D2R
          send(0x80 + i, D1LRR, a1); //D1L/RR
          send(0x90 + i, 0x00, a1); //SSG EG
          
          //Operator 2
          DT1MUL = (v.C1[8] << 4) | v.C1[7];
          TL = v.C1[5];
          RSAR = (v.C1[6] << 6) | v.C1[0];
          AMD1R = (v.C1[10] << 7) | v.C1[1];
          D2R = v.C1[2];
          D1LRR = (v.C1[4] << 4) | v.C1[3];
          send(0x34 + i, DT1MUL, a1); //DT1/Mul
          send(0x44 + i, TL, a1); //Total Level
          send(0x54 + i, RSAR, a1); //RS/AR
          send(0x64 + i, AMD1R, a1); //AM/D1R
          send(0x74 + i, D2R, a1); //D2R
          send(0x84 + i, D1LRR, a1); //D1L/RR
          send(0x94 + i, 0x00, a1); //SSG EG
           
          //Operator 3
          DT1MUL = (v.M2[8] << 4) | v.M2[7];
          TL = v.M2[5];
          RSAR = (v.M2[6] << 6) | v.M2[0];
          AMD1R = (v.M2[10] << 7) | v.M2[1];
          D2R = v.M2[2];
          D1LRR = (v.M2[4] << 4) | v.M2[3];
          send(0x38 + i, DT1MUL, a1); //DT1/Mul
          send(0x48 + i, TL, a1); //Total Level
          send(0x58 + i, RSAR, a1); //RS/AR
          send(0x68 + i, AMD1R, a1); //AM/D1R
          send(0x78 + i, D2R, a1); //D2R
          send(0x88 + i, D1LRR, a1); //D1L/RR
          send(0x98 + i, 0x00, a1); //SSG EG
                   
          //Operator 4
          DT1MUL = (v.C2[8] << 4) | v.C2[7];
          TL = v.C2[5];
          RSAR = (v.C2[6] << 6) | v.C2[0];
          AMD1R = (v.C2[10] << 7) | v.C2[1];
          D2R = v.C2[2];
          D1LRR = (v.C2[4] << 4) | v.C2[3];
          send(0x3C + i, DT1MUL, a1); //DT1/Mul
          send(0x4C + i, TL, a1); //Total Level
          send(0x5C + i, RSAR, a1); //RS/AR
          send(0x6C + i, AMD1R, a1); //AM/D1R
          send(0x7C + i, D2R, a1); //D2R
          send(0x8C + i, D1LRR, a1); //D1L/RR
          send(0x9C + i, 0x00, a1); //SSG EG

          uint8_t FBALGO = (v.CH[1] << 3) | v.CH[2];
          send(0xB0 + i, FBALGO, a1); // Ch FB/Algo
          send(0xB4 + i, 0xC0, a1); // Both Spks on

          send(0x28, 0x00 + i + (a1 << 2)); //Keys off
    }
  }
  if(resetLFO)
    ToggleLFO();
}

And the result: A little rough around the edges, but hey! Listen to that! Actual voice patches from Genesis games!

Adding the PSG

Once I was happy with how my YM2612 was turning out, I made the decision to also include the PSG. While PSG synths have been done to death, I figured my project wouldn’t be a “complete” Genesis synth without including it. I assumed since the PSG was just a simple 3-channel square wave synth, it should be much easier to implement than the YM2612.

Weeeeeeellllll….

The SN76489 Programmable Sound Generator is an ancient chip. This IC was first minted in the late 1970’s, so writing to the chip is kind of a pain. The convoluted method involved in writing to this chip makes pitch-bending fairly difficult as well.

Big-Endian. Yuck.

First, let’s focus on how we can transfer data over to the PSG. This part is actually fairly straight forward, especially compared to the YM2612.

  1. Make sure the WE pin is set HIGH
  2. Send your byte over the 8-bit data bus
  3. Set WE to LOW
  4. Wait 14 microseconds to let the PSG process that data
  5. Pull WE HIGH again to complete the write

Technically, step 4 is kind of faux pas, since there is a dedicated READY pin on the IC that will go HIGH once the IC has completed it’s data transaction, but since the IC consistently completes writes within the same amount of clock cycles, it’s not entirely necessary. If you do decide to go with the READY pin instead of waiting 14 microseconds, the READY pin is open-drain and needs to be pulled-up with an external 2K resistor to 5V. The internal 10K pull-ups that are normally found on microcontrollers will not work as they are too weak for the PSG.

void SN76489::send(uint8_t data)
{
    //Byte 1
    // 1   REG ADDR        DATA
    //|1| |R0|R1|R2| |F6||F7|F8|F9|

    //Byte 2
    //  0           DATA
    //|0|0| |F0|F1|F2|F3|F4|F5|

    digitalWriteFast(_WE, HIGH);
    PORTC = data;
    digitalWriteFast(_WE, LOW);
    delayMicroseconds(14);
    digitalWriteFast(_WE, HIGH);
}

Much like the YM2612, there is also a formula required to calculate the data found in the PSG’s frequency register. Thankfully though, this equation is much simpler:

F = N ÷ (32 × n)
F = Desired PSG Frequency
N = Master Clock Frequency
n = Desired Note Frequency (10-bit number)

Let’s calculate for note A4 again using the above equation:

F = 4000000Hz ÷ (32 × 440Hz)
F = 284.1

Again, this part is pretty simple.

Once you have that value, you can send it to the PSG using the following method:

void SN76489::SetSquareFrequency(uint8_t voice, int frequencyData)
{
    if (voice < 0 || voice > 2)
        return;
    send(0x80 | frequencyRegister[voice] | (frequencyData & 0x0f));
    send(frequencyData >> 4);
}

Where it gets super annoying though, is when you have to account for pitch bending. That required a lot more math. You can view the entire PSG driver script here if you’re interested in seeing how it was done.

This video also shows the project after I had implemented hardware serial MIDI.

The Finishing Touches

Don’t judge. It worked perfectly.

All that was really left was a bit of trial-and-error tuning, adding a MIDI circuit, and then finally producing a printed circuit board. I also ditched the buck-converter I was using to knock 12V down to 5V in favor of a linear regulator since the buck converted produced quite a bit of audible noise. In order to test the PCB heat-sinking performance of said regulator, I decided to sacrifice one of my (silly) TQFP-64 to DIP boards and solder the regulator to the ground plane that I exposed by sanding off the solder mask.

Another thing I wanted to test is to see if I could run my code on a bare AT90USB1286 microcontroller without the use of PJRC’s proprietary HalfKay bootloader. With a bit of fiddling on a demo board, yes indeed, I can run my code without the bootloader. I just have to upload the code every time using an ATMEL ICE, or any other ISP (In-circuit Serial Programmer). I also switched from using LTC6904s for my clock generators to discrete crystal pierce oscillators. They’re far more accurate, cheaper, and easier to use.

My AT90USB1286 Test Board

I also added a rotary encoder and a 20×04 character LCD to act as the user interface. All that was left was to plot the schematic and design the PCB.

The schematic

The final breadboard prototype looked like this monster:

Finally, it was time to jump into the KiCAD PCB Editor and design a board. I wanted a relatively compact board, around 100x100mm that had a rotary encoder, several “favorite patch” buttons, and a way to mount my LCD above the assembly. This took a lot of research, measuring, and double-checking. Once I got the boards made, the quality was good and the screen mounted perfectly with 15mm nylon standoffs and 21mm header pins. …Only problem is that I pulled the LCD’s data R/W pin to VCC when it should have been GND. Darn, so close to perfect. Oh well, I just cut the lead and stretched it over to my GND test point. The Op-amp also had an issue – KiCAD didn’t recognize that pin 4 and pin 8 were part of the netlist, so the DRC overlooked them and didn’t tell me they weren’t connected. Damn. A couple of bodges later though, and we were all patched up.

Here’s the board without the LCD or chips installed yet.

I also needed to turn off the JTAG fuse on the new AT90USB1286. This gave me a mini heart attack since it was preventing the main data bus from operating correctly. I thought I was screwed, but all I had to do was change the fuses to:

EXTENDED: 0xF3
HIGH: 0xDF
LOW: 0x5E

Phew.

Once it was all said and done, I polished the unit up and recorded my first video on it! (Top of the page)

All that’s left is to modify the board a little bit to remove the bodged connections. I also want to transition to as many surface-mounted parts as possible as it will likely speed up production times.

GUH! That was a lot and it was only a very high-level overview. In reality, this entire process took many long months. If you actually did read all of this, thank you very, very much! I appreciate your interest in the project! Feel free to look through the source material. Once version 2 is complete, I will release the KiCAD PCB files.

You can view the Github repo here!

Here is a link to the May 2019 Instruction Manual for the Mega MIDI

The Conclusion

September 26, 2017

I have safely made it back home to California. Sadly, I arrived horribly sick after an agonizing flight home. A sad way to end such an incredible trip, yes, but I do have one more fun story to tell about my last few hours in Japan.

After packing up all my goodies and clothes destined for home, I checked out of my final hotel and requested to use their printer for my boarding pass. Soon, I was out onto the streets of Tokyo for the final time. I was already feeling pretty worn down from the onset of symptoms from my illness, so I needed to kill a couple hours in relative peace. It was a beautiful day and lots of shops were open and selling wonderful looking foods for lunch time. No wonderful foods today sadly, my stomach was simply too opposed to the idea of eating. I walked a bit up past a couple stations and noticed that there was a park atop a hill near Nishi-Nippori Station. I figured I could find a bench there and simply enjoy the weather for a couple hours before hopping on a train at the local station and heading to Tokyo Station for the NEX.

My trusty bottle of water. First thing I ever bought from a vending machine here and has been with me, refilled, for this entire journey. Bye bye! :(

After climbing a very steep hill (terrible when you’re sick and hauling tons of stuff!), I found a little quiet park with children playing in the distance and a small path leading from the entrance. Down that small path were a couple of empty benches under some trees. Perfect. I arrived at the benches and watched as the pigeons wandered towards me cautiously in hopes of me having bread. Sorry little guys, not today.

I sat there for quite a while alone until suddenly, an old man on a red bicycle arrived with a little bag of random items stowed away in the front basket. He parked his bike a reasonable distance from me and pulled out a little bag of something. He began to walk towards the fence of the park near a large tree and dump the contents of this bag on a small stone pedestal. Almost immediately, four stray cats appeared out of nowhere and quickly moved towards to the food that the man had placed down. Whoah!

The old man slowly hobbles over to the bench off to my left and takes a seat. He unwraps and slowly eats a jelly pastry as the pigeons soon gather in anticipation for their offerings too. Sorry fella’s, this old man just wants to enjoy his treat and watch. Both him and I watch the birds. After a while of silence, both him and I notice that one small black cat was stalking the pigeons and was poking it’s face out from the tree it was hiding from. The cat was unsuccessful at catching the birds of course, but the man and I both had a good laugh. Soon, the old man attempts to make casual conversation to me joking about the birds and cats. I could only respond in short phrases and charades, but I think he understood. Further still we watched, when suddenly, giant black ravens also decided to join the mix.

The old man hobbled back to his bike, fed the cats more food, then poured the remainder out on the ground for the birds. The four black ravens got every single scrap while the hordes of pigeons could only watch. Any pigeon that tried to take any food was quickly chased off by a raven. A little sad? Yeah, but the old man and I watched as all three of these creatures interacted and we had a good time. Nothing but a couple birds getting puffy with one another and a few cats unsuccessfully catching anything. It was fun to watch, but the most notable thing was the old man’s behavior towards me. If you’re an outsider living in Tokyo, it’s not very likely that you’ll find someone that’s willing to initiate conversation with you unless you’re in obvious need of help. The fact that he was enjoying his time watching the birds and cracking jokes with me just like I was “any other person” was really great and humanizing. It was fun to have a little friend to watch the world go by with for a couple hours.

The man walks to his bike to grab food for the cats.

They were big cats too! Another black cat hides behind the tree atop the concrete pedestal the man used to feed the cats.

12:20 rolled around and it was time to say my goodbyes. I grab all of my stuff and gesture a wave. A smile, laugh, and a wave was returned by the old man and I walked on towards the train station at the bottom of the hill. That was pleasant.

I jumped onto the Yamanote line for the final time and zipped off towards Tokyo Station.  Okachimachi.. Akihabara.. Kanda.. Tokyo Station. Alright, this is it, time to board the NEX back to Narita. I followed the signs towards the big red train and eventually ended up in a funny spot. I remember coming up these stairs fresh off the plane thinking to myself “Remember this area to get back.” That seems like ages ago. That’s when I had no idea what I would be in for. Soon I’ll walk up these stairs again, but for now, down we go towards the platform.

I await my final train journey at the basement of Tokyo Station. Moments later, the same white-black-and-red train that brought me to Tokyo has arrived to take me away. It was a little sad, but I was ready to see my family again. Soon we’re off and I took the entire ride to just enjoy the window-seat view and watch Tokyo go by.

Emergency Donut: Packed.

It didn’t take long until we arrived at Narita Airport. I followed the signs to the main lobby and passed through security and customs. Security in Japan is SO much nicer than it is in America. The staff are friendly and helpful and even though you still have to go through a metal detector and scan your stuff, it was way faster and more efficient (no “take your shoes off” bullshit). After security, I visited the customs booth, surrendered my passport, and… STAMP… welp there it is, trip is officially over. Aww.

Bye bye Captain Pikachu. I liked spending too much money at your stores.

I waited a few more hours in the airport and watched the JAL workers meticulous work to maintain and prepare our airplane from the giant terminal window. By the time we were boarding, I was actually feeling pretty good and only thought my illness symptoms were just mere allergy symptoms. Sadly, this was very much not the case as I become unbelievably sick after a couple hours in the air, but before that, I had one last nice send-off from Japan.

Bye Japan!

A spectacular sunset with big Japanese clouds. A great visual to end on.

 

My time in Japan has been life changing. I encourage everybody to visit as it truly is a wonder world of unbelievable food, transportation, services, and most of all friendly people. Japan is very proud of their country and I believe they have every right to be. It was the time of my life and I will be coming back.

For the entire nation of Japan:

どもありがとうございます