Today's release for the Analogue Pocket and MiSTerFPGA platforms is the next entry on the DECO-16 platform. Vapor Trail, known in Japan as Kuhga, is a vertically scrolling shooter built on Data East's 16-bit custom hardware, the platform introduced with Tumble Pop's release.
Kuhga / Vapor Trail (1989)Crude Buster / Two Crude (1990)Dark Seal / Gate of Doom (1990)The Cliffhanger: Edward Randy (1990)Super Burger Time (1990)Death Brade / Mutant Fighter (1991)Tatakae Genshijin: Joe & Mac / Caveman Ninja (1991)Robocop 2 (1991)Thunder Zone / Desert Assault (1991)Wolf Fang: Kuhga 2001 / Rohga (1991)Tumble Pop (1991)Dark Seal II / Wizard Fire (1992)Funky Jet (1992)Gun Ball / Nitro Ball (1992)Diet Go Go (1992)The Great Ragtime Show / Boogie Wings (1992)
While Tumble Pop released first, Vapor Trail was the initial title I stood up on the DECO-16 platform. It is the first DECO-16 release to run the platform's DECO 55 tilemap generator in a dual configuration and pair it with the MXC06 sprite engine carried over from the DECO-8 and DECO-6280 platforms.
This post covers a technical overview of Vapor Trail on DECO-16, how it draws on the work done on DECO-8 and DECO-6280, and the game itself.
Licensing:
Vapor Trail is distributed through the Coin-Op Collection licensing portal, which serves both MiSTerFPGA and Pocket from the same dashboard.
Pocket patrons need to register their device and generate a key before launching the core. Step-by-step instructions and the FAQ are available on the Help page. More information can be found by clicking here and here.
Overview:
Vapor Trail runs on Data East's DECO-16 hardware (PCB DE-0329), driven by a Motorola MC68000 (DECO Custom 59) at 12 MHz. The sound system uses a HuC6280 (DECO Custom 45) at 6 MHz that drives the largest audio section of any DECO-16 board to date: a YM2203 (OPN) at 4.0275 MHz for FM and PSG, a YM2151 (OPM) at 3.58 MHz for additional FM synthesis, and two OKI M6295 ADPCM samplers, one at 1.007 MHz and the other at 2.014 MHz. Audio output is mono.
The video system outputs 256x240 at 58.239 Hz. Graphics are rendered by two Data East custom ICs: a pair of DECO 55 tilemap generators drive four playfields between them, the first chip handling two 16x16 layers and the second two 8x8 layers, while an MXC06 handles sprites at 16x16 with multi-width and multi-height support. Layer priority is set entirely through software registers rather than a priority PROM. The palette holds 1280 entries in 24-bit RGB, eight bits per channel, split across two RAM banks.
Development Challenges:
Vapor Trail is where the DECO 55 tilemap generator was first brought up. The two DECO 55 tilemap generators run four playfields between them, the first chip driving two 16x16 layers and the second two 8x8 layers, with layer order resolved by software priority registers rather than the priority PROM whose site is left unpopulated on this board.
The DECO 55 supports dual playfields with independent 8x8 or 16x16 tile modes, per-scanline rowscroll, per-column colscroll, GFX ROM banking, and scanline-atomic control register shadowing to prevent mid-line tearing.
Sprites are handled by the MXC06, the same Data East sprite engine used on the DECO-8/6280 boards currently released and carried forward through yesterday's Act-Fancer release.
MXC06 renders 16x16 sprites with multi-width and multi-height support, per-sprite flip and flash, and a double-buffered line buffer, reading its display list from a DMA buffer once per frame. Pairing the DECO 55 tile path with the MXC06 sprite path from the DECO-8/6280 releases is what brought the DECO-16 platform up.
Work on Vapor Trail also exposed a few issues in x2203. Four bugs surfaced that I had to track down, three in the SSG-EG envelope path and one in Channel 3's special-mode frequency routing. Each was traced against the YM2203C LLE and corrected.
SSG-EG makes an operator's envelope cycle at audio rate instead of running the usual one-shot decay, picking one of eight shapes that range from a buzzing sawtooth to a triangle to a single decay that holds.
The first fix concerned the alternating modes. The direction latch that flips the envelope each cycle was only updated when the attack did not re-trigger, so a mode that both repeats and alternates lost the flip and stopped forming its triangle.
The second narrowed the phase reset, which was firing on every repeating mode when the hardware only resets phase on the two sawtooth modes, leaving the alternating modes to keep their carrier phase running.
The third restored the attack onset on the inverted modes, where the output was being reflected one sample too early and flattening the start of the note. With all three in place the SSG-EG modes track the LLE closely.
The fourth fix was in Channel 3's special mode, where the channel's three sub-operators take independent frequencies. The mapping from those frequency registers to the operators in the FM algorithm was permuted incorrectly, so the right pitches reached the wrong operator roles and the harmonic balance came out wrong. Sweeping the mapping against the LLE helped me correct the assignment, and the change is gated to Channel 3's special mode so nothing else in the audio path is affected.
These fixes live in x2203 itself, so they carry back to every release that uses the core. Like the original x2203 work, validating it against the modes used in Vapor Trail improves the titles released over the last few days.
Core Options:
The MiSTer core includes video settings for aspect ratio, vertical scaling and cropping, scandoubler effects, and H/V positioning and sync adjustments. Vapor Trail runs vertically, so a screen rotation toggle is included for HDMI displays.
Audio settings provide separate OPN FM, OPN PSG, OPM, and two M6295 PCM toggles, each with its own volume control, covering the full sound section. Arcade dip switches are directly accessible from the OSD. Game settings include per-player auto-fire with adjustable rates, mapping options for Player 1 and Player 2, and a synced mapping mode that mirrors Player 1's layout to Player 2.
Cheats are accessible from the OSD and include the following: a starting level select for any of the six stages, infinite time, and per-player infinite lives, infinite energy, invincibility, infinite bombs, always roll, max shot power, a triggered roll-power refill, a six-step speed select, and a weapon select that locks each player to Normal, Bomb, Missile, Defender, or Special.
The Pocket core provides auto-fire with per-button targeting and adjustable rates. Its cheat set is a single-player-focused subset: starting level, invincibility, infinite bombs, max roll, max shot power, speed select, and weapon select. Arcade dip switches available on Pocket are No. of Lives, Game Difficulty, Extend, and Service Mode.
History, Gameplay, and Regional Information:
Vapor Trail was developed and published by Data East in 1989, with Hironori Kobayashi leading the design. The arcade soundtrack came from Data East's in-house sound team, Gamadelic, with Azusa Hara among the contributors, the same composer whose work runs through Psycho-Nics Oscar, Cobra-Command, and Act-Fancer. The score is built on driving hard rock with distortion-guitar samples, which leans on the board's large audio section, the YM2203 and YM2151 carrying the synth voices over the two OKI samplers playing the guitar and drum hits.
Set in 1999, the original Japanese story pits the player against Ragnarok, a militarized organization that seizes control of the world's defense networks and issues a nuclear ultimatum. Three prototype jets are scrambled under the operation code that gives the game its Western name. The international release reworked the enemy into a terrorist group called DAGGER occupying New York City, and the overseas version cut the closing scenes set at the city and the Statue of Liberty.
The player selects one of three jets, each named for a goddess and tuned to a different style. The XF/AV-01 Silph is the balanced midrange fighter, the XAV-02 Valkyrie carries the heaviest firepower and is modeled on the A-10 Thunderbolt II, and the XFV-03 Seylen is the fastest and most fragile, with a forward-swept wing and a vulcan that fires backward when upgraded. Each jet powers up one of four weapon types, the Vulcan, Bomber, Missile, and Defender, across two levels, and carries an S-Unit booster that can be held for extra firepower or detonated for a screen-clearing blast, along with a manually triggered shield. Six stages take the jets through transforming tanks, a spider vehicle, a treaded aircraft carrier, and a rocket finale.
On release the game was a strong earner. Game Machine listed it on their March 1, 1990 issue as the second most-successful table arcade unit of the month in Japan. It also placed in the 4th Gamest Awards reader vote that year, taking seventh in Best Shooting and sixth in Best VGM.
Updates:
The next entries for the DECO-16 platform will be Crude Buster, Dark Seal, The Cliffhanger: Edward Randy, and Diet Go Go. The x2203 fixes made while validating against Vapor Trail are not specific to this board. Cores that have x2203 have been updated alongside this release. Please ensure you update your files, everything released since Friday, May 22nd has been included with today's beta roll-up attached below.
Disclaimer: All product names, trademarks, and registered trademarks mentioned are the property of their respective owners. "Analogue", "Analogue Pocket", "MiSTer", "MiSTerFPGA", "OpenFPGA", "Data East", "NEC", "Hudson Soft", "Motorola", "Yamaha", "OKI", and all derivative works are trademarks, registered trademarks, or copyrighted materials of their respective holders. Use of these names does not imply endorsement or association with this post. All rights reserved to their respective owners. This post is for educational and research purposes only.