Many people believe video games, as a class, to be bad. But while goodness or badness is subjective, sometimes there is a video game that is good. Who determines objective goodness? I do. And this intro is not objectively good, so let’s it get it over with: behold, Toaplan’s masterpiece Truxton. An excellent space shooter from Toaplan and the brainchild of programmer-composer Masahiro Yuge; what does the hardware contribute? And does everyone agree with me that it’s good? Even random MSX developers?

But first off

Truxton title screen

I’m going to call the game Truxton. But it wasn’t called that in Japan; there, it was called Tatsujin.

Tatsujin title screen

And the name Tatsujin makes a lot of sense. While this game chose to display its name in arcades in romaji, in kanji 達人 means “expert” or “master”. The game is difficult and requires achieving mastery of its levels.

But Truxton? In my home country of the United States, there are actually a few cities named Truxton, all named after this guy:

Painting of Thomas Truxtun

Thomas Truxtun, also spelled Truxton (it was the 18th century, spelling was whatever you wanted it to be), a privateer and naval officer in the early US Navy. Does the shooter Truxton have anything to do with the US Navy? Does the plot of the game revolve around a space version of the Quasi-War with France in which he fought? Not really.

I really have to wonder if Taito (or maybe even Toaplan themselves) just went around looking for words that began with T, ended with N, and had an X in the middle. And that X definitely makes the title screen look cooler than the “Tatsujin” version.

The Board

This blog post is going to have a lot of speculation from me. And therefore I need to stress that it is speculation. If I’m wrong please let me know, and if you have a schematic of the Toaplan V1 hardware even moreso, please let me know. Please don’t cite this post as factual unless you’ve gone through and confirmed for yourself. And with that all said,

Truxton runs on the Toaplan “Version 1” hardware. Think system like Alpha68k, not like the Neo Geo– the game board is dedicated to play one game and only one game. Truxton was the first game on this platform; I’m not sure if “Version 1” is in any way an official name.

UPDATE 12/10/2023: Ford Seidel reached out to me to confirm that the name “Toaplan V1” is indeed a creation of MAME developers; all of the games released under that “platform” used different PCBs, with only a few minor exceptions, none of which are relevant to Truxton. Thank you for the additional info!

So let’s take a look at the board. It’s a big one, but it fits in the regular red boxes I’ve been using to store arcade boards that I don’t have the original box for.

Toaplan V1 board

What do I see when I look at this board? I see a lot of RAM. Well, maybe not a lot by some standards– 640kiB was starting to become the standard in business machines by 1988– but it’s all static RAM. And it takes up a lot of physical space on the board.

Toaplan V1 board with RAM labeled

So what’s all this RAM for? Some is pretty obvious; the 16kiB next to the main Motorola 68000 CPU is the main CPU RAM. (Later Toaplan V1 games upped the RAM amount, and I suppose the socket must be there in case Truxton ended up needing that boost too)

A Motorola 68000, two RAM chips, and two ROMs. There are also some sockets

Similarly, there’s 2kiB of RAM next to the sound CPU, which seems pretty safe to say is the memory for the audio chip. The sound CPU is a Zilog Z80, and this RAM is also accessible by the main CPU, which is how they communicate. The sound itself is provided by a YM3812, similar to the contemporary Adlib PC sound card. Overall, the Toaplan V1 board doesn’t do anything too shocking, but it’s a very competently-executed design.


A spaceship moves from a scrolling asteroid to a starfield area

Truxton is an arcade board from the late 1980s. You know what that means: raster scrolling tile layers. And on a horizontal shooter, that’s a perfect fit. Truxton’s got four of them, with the unique characteristic that each tile can individually have its layered priority set, mostly done for some weird parallax.

Four RAM chips, two gate arrays, and a million tiny discrete logic chips

This section of the board contains two gate arrays assocated with the tilemap, so it stands to reason that the four SRAM chips are too. And they’re beefy ones; each one 32kiB; that’s just for the layout data, they get their tiles from the nearby ROM chips.

Two RAM chips

These two RAM chips caught my eye; each HY6116AP chip is is just 2kiB of RAM, but these two happen to be HY6116AP-10 chips rather than the HY6116AP-15 used for the audio RAM. These are 100ns RAM rather than 150ns RAM.

At first, I wondered if this was some sort of linebuffer; in a 15.73kHz horizontal scan line, you have about 63,600ns, 10,900ns of that in the horizontal blanking period where a buffer would be written to. So as you can imagine, even writing a small amount of data in preparation for the next line makes time count. With two chips, writing can be done in parallel.


Of course, a game can’t live based just on tilemaps. Well, okay, VIC-20 and ZZT enthusiasts might complain, but this is Truxton. We need fast, independently moving objects. We need sprites.

Truxton gameplay

Since the days of Namco’s Galaxian, which pretty much everyone else in the Japanese arcade scene copied, the common way to implement sprites on arcade systems is to use a linebuffer. Essentially, the sprites for each row are fetched in advance and set up in the buffer; this allows for things like overlapping sprites. But because you need access to the buffer while drawing the line, you only have that short blanking period to actually write to the buffer. Let’s see how Truxton threads this needle.

Truxton circuitboard, showing three 6116 RAM chips

Hanging out with the FCU-2 sprite controller (the chip that makes this board different from Dash Yarou), there’s three more of the HY6116AP-10 chips, 6kiB in total. My hunch is that the two chips adjacent to each other provide the sprite information RAM, and the other is a sprite size RAM.

You might not be familiar with the concept of sprite size RAM. I certainly wasn’t. The sprites on the Toaplan V1 board can vary greatly in size. Compare my ship, to the bullets it fires, to the giant enemy ship it’s attacking.

Truxton gameplay

Now you could, of course, just make each sprite out of small sprites. This is how the Nintendo Entertainment System does it and nobody would call that console inflexible. But instead, the V1 uses sizes that range between 8x8 to 128x128, and have the option of different vertical and horizontal widths (in units of 8). Those horizontal and vertical widths are looked up in the table that is sprite size RAM.

Truxton circuitboard, showing five Sanyo RAM chips

So what about this long row of 8kiB Sanyo LC3664NL-12 chips? What you’ll see in the MAME implementation is that the sprite configuration information is copied into the “real” sprite RAM during vblank. 40kiB is definitely more than you need for just a buffer, but perhaps it’s decomposed into a more convenient internal form (say, getting rid of that sprite size indirection).

Truxton circuitboard, the small AM2148 chips blend in

And then there’s 8 tiny AM2148 chips, each 512kiB with a 4-bit external bus (that is to say, 1024x4). The secret these have is that they’re AM2148-55 chips; 55ns is blazing fast for RAM, and I can’t help but notice that they’re separated from the Sanyo chips by the sprite ROMs. So this is probably our final line buffer here.

Is there a game?

And now you know everything there is to know about Truxton. Except for, well uh, the whole actual game. Truxton builds on the earlier Twin Cobra (which used different hardware), so it might be worth talking about where it differs first. For one thing, it’s outer space themed, which I always prefer in my shooters– this is actually Toaplan’s first.

Truxton Press One or Two Player Start

Twin Cobra, like many shoot-em-ups, allows for two player simultaneous multiplayer. Truxton does not. The two players interchange, like Breakout or some other early arcade title. But the hardware was definitely capable of it. So why does it work this way? It must be a deliberate design decision.

Truxton, the screen filling with grey rectangles

When you die in Truxton, the screen fills with grey rectangles and you’re sent back to a checkpoint earlier in the level. This sort of checkpoint system doesn’t work well with two-player simultaneous, so Truxton removed it. This isn’t all cruel– like most contemporary shoot ‘em ups, Truxton removes your powerups when you die, and the game becomes much more difficult without them. At least a checkpoint generally gives you a chance to get a little bit of power before getting back to where you died.

Truxton, the player using a blue full-screen laser

But the main reason is cruelty. The goal of Truxton is to force the player to memorize the level; you progress through the game through achieving mastery, and can’t just credit-feed your way to victory. Of course, this is pretty nice for an arcade game. But even as a home game, it’s actually pretty appealing.

Truxton, continue screen

Truxton has a flow once you’ve gotten into it. And that’s why most of the screenshots (possibly all of them) are from the first level; that’s the only one I’ve really begun to learn. And while the game seems to have a no-hit-damage test DIP switch, I don’t really want to use it. I’d like to keep going properly.

Everyone has an opinion

Not everyone agrees with me. A programmer on the Tecnosoft MSX2 game Shin Kyuugyokuden left a long hidden message in the game. It’s a bit disturbing in parts, but it also includes a review of some contemporary arcade titles.

It seems all the new shooters are coming out in the arcade for the holiday season! First up was Thunder Cross! I don’t really feel like playing this one because it’s in the vein of Gradius and I don’t understand the power-ups. Next came Truxton! Whoa! What the hell were the developers of this thing thinking? I can’t talk about it! Only a game nerd would play this!

Given that, as the TCRF page notes, the author also claims to be a pedophile and a rapist in the weird rant, we probably don’t need to embrace their judgment. Toaplan was a company that existed in the capitalist nation of Japan, and therefore only needed listen to the judgment of the market.

Same! Same! Same! title screen

Truxton was a big success, so they doubled-down on the difficulty and memorization in their next vertical shooter, Same! Same! Same! (Same means shark in Japanese). This game used similar hardware that is also classed as the Toaplan version 1, but there are some differences. (Single-board games are rarely identical, except in special cases like the Neo Geo MV0)

Same! Same! Same! death screen

Same! Same! Same! is harder than Truxton (apparently at the request of arcade operators), one player at a time only, and was unsuccessful by Toaplan’s standards. Unsuccessful enough that Masahiro Yuge has expressed regrets for the game’s difficulty, and unsuccessful enough that Toaplan retooled the game, releasing a follow-up version that re-added two player simultaneous and got rid of the checkpoints.

Same! Same! Same! with two players

It’s this version that became the western release, Fire Shark, which was much more of a success. So yes, there is such a thing as too difficult. But that’s Fire Shark. When Masahiro Yuge acquired the rights to Toaplan’s back catalog, the company he formed (now owned by Embracer Group) to hold the assets he named Tatsujin.

Truxton, game over